ʹÓÃvc++ 6.0ÖÆ×÷dll£¬²¢ÔÚjava³ÌÐòÖÐʹÓã¨×ª£©
雖È»JAVAµÄ³Ìʽ¶¼±Ø須ÔÚJAVAµÄ虛擬機Æ÷ÉÏ執ÐУ¬µ«ÊÇÎÒ們¿ÉÒÔÔÚ這²¿機Æ÷ÖдòÒ»個¶´£¬讓JAVA³Ìʽ¿ÉÒÔÖ±½Ó溝ͨ實際µÄ機Æ÷
JNIÊÇÒ»種讓JAVA³Ìʽ¿ÉÒÔÍâ½ÓÍⲿ³ÌʽµÄÒ»種機ÖÆ£¬讓JAVA³Ìʽ¸ü¾ßÓÐ擴³äÐÔ£¬ÏÂÃæ將ʾ範Ò»個簡單µÄ範Àý£¬這個範ÀýÖÐ說Ã÷JAVA³ÌʽÈçºÎ與C語
ÑÔ½Ó軌£¬ÊÂ實ÉÏ×òÌìËù談µÄProlog¾ÍÊÇÀûÓÃ這種·½Ê½Ê¹Java³Ìʽ¿ÉÒÔʹÓÃprolog£¬Í¸過dllºÍnativeµÄ·½Ê½來達³É這項ÈÎ務£¬經過這樣µÄ
測試與實驗Ö®áá讓ÎÒ²»µÃ²»Åå·þjava這個³Ìʽ語ÑÔ
Äã²»ÐèÒª擔ÐijÌʽ·½ÃæµÄ問題£¬Òò為µ×ϵijÌʽ¼Ü構¶¼Ïà當簡單£¬Ö÷ÒªÖ»ÊÇ讓ÎÒ們體驗Ò»ÏÂ
¹¤¾ß½é紹£ºÎÒ將ʹÓÃvisual c++ 6.0來製×÷dll£¬Ê¹ÓÃjava sdk 1.4來編譯ÎÒµÄjava
java²¿·ÖµÄ實×÷
³Ìʽ碼ÈçÏÂ(HelloWorld.java)£º
class HelloWorld {
public native void displayHelloWorld();//×ó·½µÄnativeÐÍ態ÊÇ֪ͨJava這個º¯數會ʹÓõ½Íⲿº¯數
static {
System.loadLibrary("hello");//×󷽵ijÌʽ碼´ú±íÎÒÒª載Èëhello.dllµÄ動態連結£¬hello.dllµÄ製×÷ÎÒÔÚÉÔáá會×ö½é紹
}
public static void main(String[] args) ...{
new HelloWorld().displayHelloWorld();
}
}
當ÄãÍê³ÉÉÏÊöµÄ³Ìʽ֮áᣬ將這個³Ìʽ´æ檔為''HelloWorld.java''ÏÈÓÃ''javac
HelloWorld.java''這個Ö¸Áî將Ëü組譯³ÉHelloWorld.class£¬È»ááʹÓÃ''javah
HelloWorld''產ÉúHelloWorld.h£¬ÔÚHelloWorld.hÖÐÎÒ們ÖªµÀÎÒ們Òª實×÷Ò»個º¯數
Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject); ½ÓÏÂ來ÎÒ將½é紹ÈçºÎÍê³É這個º¯數
&
Ïà¹ØÎĵµ£º
1 JDK5.0°üÀ¨µÄµ÷ÊÔ¹¤¾ß
ÎÒÃÇÔÚÕâÀï¶ÔJDK5.0µÄµ÷ÊÔ¹¤¾ß×ö´óÖµĸÅÄîÐԵĽéÉÜ£¬È»ºóÏ£Íûͨ¹ý½éÉÜÎÒ×Ô¼ºÔÚʵ¼Ê¹¤×÷ÖÐʹÓÃÕâЩ¹¤¾ß½â¾öÎÊÌâµÄʵÀýÀ´Èôó¼Ò¶ÔÕâЩ¹¤¾ßÓиüÉîÈëµÄÁ˽⡣
¡¡JDK5.0ÀïÃæ¼ÓÈëÁËjstack, jconsole, jinfo, jmap, jdb, jstat, jps, ÏÂÃæ¶ÔÕâЩ¹¤¾ß×ö¼òµ¥½éÉÜ£º
¡¡jstack -- Èç¹ûjava³Ì ......
1 ÍøÂçͨÐŵı¾ÖÊÊǽø³Ì¼äͨÐÅ¡£
2 TcpÐÒéºÍUDPÐÒé
TCP£º¿ªÏú´ó£¬ÓÃÓÚ¿É¿¿ÐÔÒªÇó¸ßµÄ³¡ºÏ¡£
TCPµÄ¹ý³ÌÏ൱ÓÚ´òµç»°µÄ¹ý³Ì
UDP£ºÓÃÔÚ¶ÔʵʱÐÔÒªÇó±È½Ï¸ßµÄ³¡ºÏ¡£
UDPµÄ¹ý³ÌÏ൱ÓÚдÐŵĹý³Ì¡£
×¢Ò⣺socketÊÇÌ×½Ó×Ö£¬ipºÍport£¨¶Ë¿ÚºÅ 0~65535¸ö¶Ë¿Ú£¬Ò»¸ö¶Ë¿ÚÖ»ÄÜÓÐÒ»¸ö½ø³Ì£©
3£¬   ......
Java±à³ÌÄÇЩʶù52—·½·¨ÉùÃ÷
µÚÆßÕÂ ·½·¨
·½·¨µÄÀ´Ô´
·½·¨µÄ¸ÅÄîÀ´Ô´ÓÚÊýѧÉϵĺ¯Êý£¬ÔÚÊýѧÖУ¬µ±Êý¾Ý¾ßÓÐÒ»¶¨µÄ¹æÂÉʱ£¬¾ÍÊÇÓÃÒ»¸öº¯ÊýÀ´´úÂë¸ÃÊý×ֵĹæÂÉ£¬ÀýÈçf£¨n£©=nÔò´ú±í1¡¢2¡¢3¡¢……ÕâÑùµÄÒ»¸öÊýÁС£ÔÚÊýѧÉÏnÊDzÎÊý£¬¶ÔÓÚÈ·¶¨µÄnÖµÖ»ÓÐÒ»¸öf£¨n£©µÄÖµºÍËü¶ÔÓ¦
·½·¨ÊÇÒ»×éΪÁËʵÏÖÌØ¶¨¹¦Ä ......
תÌû´¦£ºhttp://dong-java.javaeye.com/blog/375150
1¡£ÍƼöʹÓÃOralce±È½ÏеÄ10.2.0.3 JDBC Drivers¡£Õâ¸ö°æ±¾¶Ô±È9.2µÄ×î´óµÄºÃ´¦ÊÇDriverManager.setLoginTimeoutº¯ÊýÊÇÆð×÷Óõġ£ÉèÖÃÁËÕâ¸ö²ÎÊý£¬ÔÚ¶ñÁÓµÄÍøÂç»·¾³ÖоͲ»»áÓÐÁ¬½ÓÊý¾Ý¿âµÄº¯Êý³¤Ê±¼ä²»·µ»ØµÄÇé¿ö¡£
2¡£JDBC Developer!ˉs Guide and Refer ......