JavaÖÐNative¹Ø¼ü×Ö
Java²»ÊÇÍêÃÀµÄ£¬JavaµÄ²»×ã³ýÁËÌåÏÖÔÚÔËÐÐËÙ¶ÈÉÏÒª±È´«Í³µÄC++ÂýÐí¶àÖ®Í⣬JavaÎÞ·¨Ö±½Ó·ÃÎʵ½²Ù×÷ϵͳµ×²ã£¨ÈçϵͳӲ¼þµÈ)£¬Îª´ËJavaʹÓÃnative·½·¨À´À©Õ¹Java³ÌÐòµÄ¹¦ÄÜ¡£
¿ÉÒÔ½«native·½·¨±È×÷Java³ÌÐòͬ£Ã³ÌÐòµÄ½Ó¿Ú£¬ÆäʵÏÖ²½Ö裺
£±¡¢ÔÚJavaÖÐÉùÃ÷native()·½·¨£¬È»ºó±àÒ룻
£²¡¢ÓÃjavah²úÉúÒ»¸ö.hÎļþ£»
£³¡¢Ð´Ò»¸ö.cppÎļþʵÏÖnativeµ¼³ö·½·¨£¬ÆäÖÐÐèÒª°üº¬µÚ¶þ²½²úÉúµÄ.hÎļþ£¨×¢ÒâÆäÖÐÓÖ°üº¬ÁËJDK´øµÄjni.hÎļþ£©£»
£´¡¢½«µÚÈý²½µÄ.cppÎļþ±àÒë³É¶¯Ì¬Á´½Ó¿âÎļþ£»
£µ¡¢ÔÚJavaÖÐÓÃSystem.loadLibrary()·½·¨¼ÓÔØµÚËIJ½²úÉúµÄ¶¯Ì¬Á´½Ó¿âÎļþ£¬Õâ¸önative()·½·¨¾Í¿ÉÒÔÔÚJavaÖб»·ÃÎÊÁË¡£
JAVA±¾µØ·½·¨ÊÊÓõÄÇé¿ö
1.ΪÁËʹÓõײãµÄÖ÷»úƽ̨µÄij¸öÌØÐÔ£¬¶øÕâ¸öÌØÐÔ²»ÄÜͨ¹ýJAVA API·ÃÎÊ
2.ΪÁË·ÃÎÊÒ»¸öÀϵÄϵͳ»òÕßʹÓÃÒ»¸öÒÑÓеĿ⣬¶øÕâ¸öϵͳ»òÕâ¸ö¿â²»ÊÇÓÃJAVA±àдµÄ
3.ΪÁ˼ӿì³ÌÐòµÄÐÔÄÜ£¬¶ø½«Ò»¶Îʱ¼äÃô¸ÐµÄ´úÂë×÷Ϊ±¾µØ·½·¨ÊµÏÖ¡£
Ê×ÏÈдºÃJAVAÎļþ
package com.hode.hodework.modelupdate;
public class CheckFile
{
public native void displayHelloWorld();
static
{
System.loadLibrary("test");
}
public static void main(String[] args) {
new CheckFile().displayHelloWorld();
}
}
È»ºó¸ù¾ÝдºÃµÄÎļþ±àÒë³ÉCLASSÎļþ
È»ºóÔÚclasses»òbinÖ®ÀàµÄclass¸ùĿ¼ÏÂÖ´ÐÐjavah -jni com.hode.hodework.modelupdate.CheckFile£¬
¾Í»áÔÚ¸ùĿ¼Ïµõ½Ò»¸öcom_hode_hodework_modelupdate_CheckFile.hµÄÎļþ
È»ºó¸ù¾ÝÍ·ÎļþµÄÄÚÈݱàдcom_hode_hodework_modelupdate_CheckFile.cÎļþ
££i nclude "CheckFile.h"
££i nclude
££i nclude
JNIEXPORT void JNICALL Java_com_hode_hodework_modelupdate_CheckFile_displayHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!\n");
return;
}
Ö®ºó±àÒëÉú³ÉDLLÎļþÈç“test.dll”£¬Ãû³ÆÓëSystem.loadLibrary("test")ÖеÄÃû³ÆÒ»ÖÂ
vcµÄ±àÒë·½·¨£ºcl -I%java_home%\include -I%java_home%\include\win32 -LD com_hode_hodework_modelupdate_CheckFile.c -Fetest.dll
×îºóÔÚÔËÐÐʱ¼Ó²ÎÊý-Djava.library.path=[dll´æ·ÅµÄ·¾¶]
Ò». ʲôÊÇNative Method
¼òµ¥µØ½²£¬Ò»¸öNative Method¾ÍÊÇÒ»¸öjavaµ÷Ó÷Çjava´úÂëµÄ½Ó¿Ú¡£Ò»¸öNative MethodÊÇÕâÑùÒ»¸öjavaµÄ·½·¨£º¸Ã·½·¨µÄʵÏÖÓÉ·ÇjavaÓïÑÔʵÏÖ£¬±ÈÈçC¡£Õâ¸öÌØÕ÷²¢·ÇjavaËùÌØÓУ¬ºÜ¶àÆäËüµÄ±à³ÌÓ
Ïà¹ØÎĵµ£º
Ïß³Ì×é
ÔÚJavaÖÐÿһ¸öÏ̶߳¼¹éÊôÓÚij¸öÏß³Ì×é¹ÜÀíµÄÒ»Ô±£¬ÀýÈçÔÚÖ÷º¯Êýmain()Ö÷¹¤×÷Á÷³ÌÖвúÉúÒ»¸öỊ̈߳¬Ôò²úÉúµÄÏß³ÌÊôÓÚmainÕâ¸öÏß³Ì×é¹ÜÀíµÄÒ»Ô±¡£¼òµ¥µØËµ£¬Ïß³Ì×é¾ÍÊÇÓÉÏß³Ì×é³ÉµÄ¹ÜÀíÏ̵߳ÄÀ࣬Õâ¸öÀàÊÇjava.lang.ThreadGroupÀà¡£
¿ÉÒÔͨ¹ýʹÓÃÈçÏ´úÂë»ñÈ¡´ËÏß³ÌËùÊôÏß³Ì×éµÄÃû³Æ¡£
Thread.currentThread().ge ......
½â¾ö·½·¨Ò»:(×îÖØÒªµÄÒ»ÖÖ·½·¨)
Äã¿´ÏÂmy.ini£¬ÓÐÎÞ
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
È»ºó½¨Á¢±íʱ£¬Ò²ÒªÓ㨱ÈÈ磩
DROP TABLE IF EXISTS `Company`;
CREATE &nb ......
Java ByteCode
1£¬Ê²Ã´ÊÇBytecode
C/C++±àÒëÆ÷°ÑÔ´´úÂë±àÒë³É»ã±à´úÂ룬Java±àÒëÆ÷°ÑJavaÔ´´úÂë±àÒë³É×Ö½ÚÂëbytecode¡£
Java¿çƽ̨Æäʵ¾ÍÊÇ»ùÓÚÏàͬµÄbytecode¹æ·¶×ö²»Í¬Æ½Ì¨µÄÐéÄâ»ú£¬ÎÒÃǵÄJava³ÌÐò±àÒë³Ébytecodeºó¾Í¿ÉÒÔÔÚ²»Í¬Æ½Ì¨ÅÜÁË¡£
.net¿ò¼ÜÓÐIL(intermediate language)£¬»ã±àÊÇC/C++³ÌÐòµÄÖмä±í´ï·½Ê½£¬ ......
- ¼ÓÈë²ËÄñÑ§Ï°Íø£¬»ñµÃÕ䲨×ÊÔ´
Java´úÂë Êý¾ÝÍÚ¾òÖоö²ßÊ÷C4.5Ô¤²âË㷨ʵÏÖ(°ë³ÉÆ·£¬»¹ÒªÐ´¹æÔòºó¼ôÖ¦¼°¶Ô·ÇÀëÉ¢Êý¾ÝÐÅÏ¢ÔöÒæ¼ÆËã) Java´úÂë package org.struct.decisiontree; import java.util.ArrayList; import java.util.Arrays; ......
ͨ¹ýJava hread dump·ÖÎöÕÒµ½ºÄ·ÑCPU×î¸ßµÄÔ´´úÂë
×÷Õߣººú¼Ò»Ô 2010-04-11
×î½ü²úÆ·ÔÚÔËÐйý³ÌÖгöÏÖÁËÐÔÄÜÎÊÌ⣬Ôںܵ͵ÄÁ÷Á¿µÄÇé¿öÏÂCPU¾Í´ïµ½40%£¬Á÷Á¿ÉÔ¸ßʱCPU¾Í´ïµ½98%¡£
²úÆ·ÊÇJavaдµÄ£¬ÔËÐÐÓÚJBOSSƽ̨¡£²Ù×÷ϵͳΪredhat linux¡£µ±Äãͨ¹ýtopÃüÁî·¢ÏÖÄãµÄÓ¦ÓóÌÐòµÄ½ø³ÌÕ¼ÓÃCPU´ï98%ʱ£¬ÎÒÏëÄã¿Ï¶¨ÏëÖªµÀ¾¿¾¹Ê ......