ʹÓà Java Native Interface µÄ×î¼Ñʵ¼ù
Java™ ±¾»ú½Ó¿Ú£¨Java Native Interface£¬JNI£©ÊÇÒ»¸ö±ê×¼µÄ Java API£¬ËüÖ§³Ö½« Java ´úÂëÓëʹÓÃÆäËû±à³ÌÓïÑÔ±àдµÄ´úÂëÏ༯³É¡£Èç¹ûÄúÏ£ÍûÀûÓÃÒÑÓеĴúÂë×ÊÔ´£¬ÄÇô¿ÉÒÔʹÓà JNI ×÷ΪÄú¹¤¾ß°üÖеĹؼü×é¼þ —— ±ÈÈçÔÚÃæÏò·þÎñ¼Ü¹¹£¨SOA£©ºÍ»ùÓÚÔƵÄϵͳÖС£µ«ÊÇ£¬Èç¹ûÔÚʹÓÃʱδעÒâijЩÊÂÏÔò JNI »áѸËÙµ¼ÖÂÓ¦ÓóÌÐòÐÔÄܵÍÏÂÇÒ²»Îȶ¨¡£±¾ÎĽ«È·¶¨ 10 ´ó JNI ±à³ÌȱÏÝ£¬Ìṩ±ÜÃâÕâЩȱÏݵÄ×î¼Ñʵ¼ù£¬²¢½éÉÜ¿ÉÓÃÓÚʵÏÖÕâЩʵ¼ùµÄ¹¤¾ß¡£
Java »·¾³ºÍÓïÑÔ¶ÔÓÚÓ¦ÓóÌÐò¿ª·¢À´ËµÊǷdz£°²È«ºÍ¸ßЧµÄ¡£µ«ÊÇ£¬Ò»Ð©Ó¦ÓóÌÐòÈ´ÐèÒªÖ´Ðд¿ Java ³ÌÐòÎÞ·¨Íê³ÉµÄһЩÈÎÎñ£¬±ÈÈ磺
* Óë¾ÉÓдúÂ뼯³É£¬±ÜÃâÖØбàд¡£
* ʵÏÖ¿ÉÓÃÀà¿âÖÐËùȱÉٵŦÄÜ¡£¾ÙÀýÀ´Ëµ£¬ÔÚ Java ÓïÑÔÖÐʵÏÖ ping ʱ£¬Äú¿ÉÄÜÐèÒª Internet Control Message Protocol (ICMP) ¹¦ÄÜ£¬µ«»ù±¾Àà¿â²¢Î´ÌṩËü¡£
* ×îºÃÓëʹÓà C/C++ ±àдµÄ´úÂ뼯³É£¬ÒÔ³ä·Ö·¢¾òÐÔÄÜ»òÆäËûÓë»·¾³Ïà¹ØµÄϵͳÌØÐÔ¡£
* ½â¾öÐèÒª·Ç Java ´úÂëµÄÌØÊâÇé¿ö¡£¾ÙÀýÀ´Ëµ£¬ºËÐÄÀà¿âµÄʵÏÖ¿ÉÄÜÐèÒª¿ç°üµ÷ÓûòÕßÐèÒªÈƹýÆäËû Java °²È«ÐÔ¼ì²é¡£
JNI ÔÊÐíÄúÍê³ÉÕâЩÈÎÎñ¡£ËüÃ÷È··Ö¿ªÁË Java ´úÂëÓë±¾»ú´úÂ루C/C++£©µÄÖ´ÐУ¬¶¨ÒåÁËÒ»¸öÇåÎúµÄ API ÔÚÕâÁ½ÕßÖ®¼ä½øÐÐͨÐÅ¡£´ÓºÜ´ó³Ì¶ÈÉÏ˵£¬Ëü±ÜÃâÁ˱¾»ú´úÂë¶Ô JVM µÄÖ±½ÓÄÚ´æÒýÓ㬴ӶøÈ·±£±¾»ú´úÂëÖ»Ðè±àдһ´Î£¬²¢ÇÒ¿ÉÒԿ粻ͬµÄ JVM ʵÏÖ»ò°æ±¾ÔËÐС£
½èÖú JNI£¬±¾»ú´úÂë¿ÉÒÔËæÒâÓë Java ¶ÔÏó½»»¥£¬»ñÈ¡ºÍÉè¼Æ×Ö¶ÎÖµ£¬ÒÔ¼°µ÷Ó÷½·¨£¬¶ø²»»áÏñ Java ´úÂëÖеÄÏàͬ¹¦ÄÜÄÇÑùÊܵ½Öî¶àÏÞÖÆ¡£ÕâÖÖ×ÔÓÉÊÇÒ»°ÑË«Èн££ºËüÎþÉü Java ´úÂëµÄ°²È«ÐÔ£¬»»È¡ÁËÍê³ÉÉÏÊöËùÁÐÈÎÎñµÄÄÜÁ¦¡£ÔÚÄúµÄÓ¦ÓóÌÐòÖÐʹÓà JNI ÌṩÁËÇ¿´óµÄ¡¢¶Ô»úÆ÷×ÊÔ´£¨ÄÚ´æ¡¢I/O µÈ£©µÄµÍ¼¶·ÃÎÊ£¬Òò´ËÄú²»»áÏñÆÕͨ Java ¿ª·¢ÈËÔ±ÄÇÑùÊܵ½°²È«ÍøµÄ±£»¤¡£JNI µÄÁé»îÐÔºÍÇ¿´óÐÔ´øÀ´ÁËһЩ±à³Ìʵ¼ùÉϵķçÏÕ£¬±ÈÈçµ¼ÖÂÐÔÄܽϲ³öÏÖ bug ÉõÖÁ³ÌÐò±ÀÀ£¡£Äú±ØÐë¸ñÍâÁôÒâÓ¦ÓóÌÐòÖеĴúÂ룬²¢Ê¹ÓÃÁ¼ºÃµÄʵ¼ùÀ´±£ÕÏÓ¦ÓóÌÐòµÄ×ÜÌåÍêÕûÐÔ¡£
±¾ÎĽéÉÜ JNI Óû§×î³£Óöµ½µÄ 10 ´ó±àÂëºÍÉè¼Æ´íÎó¡£ÆäÄ¿±êÊÇ°ïÖúÄúÈÏʶµ½²¢±ÜÃâËüÃÇ£¬ÒÔ±ãÄú¿ÉÒÔ±àд°²È«¡¢¸ßЧ¡¢ÐÔÄܳöÖÚµÄ JNI ´úÂë¡£±¾ÎÄ»¹½«½éÉÜһЩÓÃÓÚÔÚдúÂë»òÒÑÓдúÂëÖвéÕÒÕâЩÎÊÌâµÄ¹¤¾ßºÍ¼¼ÇÉ£¬²¢Õ¹Ê¾ÈçºÎÓÐЧµØÓ¦ÓÃËüÃÇ¡£
JNI ±à³ÌȱÏÝ¿ÉÒÔ·ÖΪÁ½Àࣺ
*
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔÇ°£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
½Ì³Ì5 ËãÊýÔËËãѧϰ³ÌÐò ѧϰĿ±ê 5.1¼òµ¥¼Ó·¨Ñ§Ï°³ÌÐò СѧÉúÔÚ¸Õ¸Õ¿ªÊ¼Ñ§Ï°ÊýѧÔËËãµÄʱºò£¬ÐèÒª²»¶ÏµØ½øÐз´¸´´óÁ¿µÄÁ·Ï°£¬²ÅÄܹ»Ñ¸ËÙÕÆÎÕÕⲿ·ÖÄÚÈÝ¡£ÏÂÃ濪·¢Ò»¸ö¼òµ¥µÄ¼Ó·¨Ñ§Ï°³ÌÐò£¬Äܹ»²úÉú¼Ó·¨ÔËËãÈÃѧÉúÀ´Ñ§Ï°Ìá¸ß¡£ ±àд³ÌÐòÈçÏ£º 1 package lesson5; 2 3 public class Operation1 { 4 int number1; 5 ......
ArrayList ºÍVectorÊDzÉÓÃÊý×鷽ʽ´æ´¢Êý¾Ý£¬´ËÊý×éÔªËØÊý´óÓÚʵ¼Ê´æ´¢µÄÊý¾ÝÒÔ±ãÔö¼ÓºÍ²åÈëÔªËØ£¬¶¼ÔÊÐíÖ±½ÓÐòºÅË÷ÒýÔªËØ£¬µ«ÊDzåÈëÊý¾ÝÒªÉè¼Æµ½Êý×éÔªËØÒƶ¯µÈÄÚ´æ²Ù×÷£¬ËùÒÔË÷ÒýÊý¾Ý¿ì²åÈëÊý¾ÝÂý£¬VectorÓÉÓÚʹÓÃÁËsynchronized·½·¨£¨Ḭ̈߳²È«£©ËùÒÔÐÔÄÜÉϱÈArrayListÒª²î£¬LinkedListʹÓÃË«ÏòÁ´±íʵÏÖ´æ´¢£¬°´Ðòº ......
1.Ï̴߳´½¨µÄÁ½ÖÖ·½Ê½
1£©À©Õ¹ThreadÀಢÖØдpublic void run()·½·¨
ps£º
¶¨ÒåỊ̈߳º
class myThread extends Thread(){
public void run(){
System.out.println("Ju ......
Éè¼ÆÒ»¸öCircleÀ࣬ÆäÊôÐÔΪԵ㣨ÀàÐÍΪÀàMyPoint£©ºÍ°ë¾¶£¬²¢Îª´ËÀà±àдÒÔÏÂÈý¸ö·½·¨£º
Ò»¡¢¼ÆËãÔ²µÄÃæ»ýµÄcalArea£¨£©·½·¨£»
¶þ¡¢¼ÆËãÖܳ¤µÄcalLength£¨£©·½·¨£»
Èý¡¢boolean inCircle£¨MyPoint mp£©·½·¨£¬¹¦ÄÜÊDzâÊÔ×÷Ϊ²ÎÊýµÄij¸öµãÊÇ·ñÔÚµ±Ç°¶ÔÏóÔ²ÄÚ£¨Ô²ÄÚ£¬°üÀ¨Ô²ÉÏ·µ»Øtrue£¬ÔÚÔ²Íâ·µ»Øfalse£©¡£
³ÌÐò£º
clas ......