ʹÓà 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µÄ30¸öÄ¿±ê----Èç¹ûÕâ30ÌõÄã×öµÄ²î²»¶àÁË£¬jAVAˮƽ¾Íµ±È»²»ÓÃ˵ÁË£¬ºÃºÃŬÁ¦°É
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºË ......
Ê×ÏÈÈ·¶¨ÓõÄServlet / JSPµÄ°æ±¾¡£
²é¿´web.xmlµÄ¿ªÍ·²¿·Ö£¬Èç¹ûÓÐÒÔÏÂÄÚÈÝ£¬±íʾÊÇServlet 2.4 / JSP 2.0¡£
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.s ......
×ܽáÒ»£º
Java IOµÄÒ»°ãʹÓÃÔÔò£º
Ò»¡¢°´Êý¾ÝÀ´Ô´£¨È¥Ïò£©·ÖÀࣺ
1¡¢ÊÇÎļþ£º FileInputStream, FileOutputStream, FileReader, FileWriter
2¡¢ÊÇbyte[]£ºByteArrayInputStream, ByteArrayOutputStream
3¡¢ÊÇChar[]: CharArrayReader, CharArrayWriter
4¡¢ÊÇString: StringBufferInputStream, StringReader, StringW ......
¾Í¶àÏß³ÌÀ´Ëµ£¬ÎÒÃÇ¿ªÊ¼ÉèÏëÖ»ÓÐÁ½¸öỊ̈߳¨>2ʱÊDz»ÊÇËãÊýѧ¹éÄÉ·¨£¿£©ÄÇôÈç¹ûÁ½¸ö¶ÀÁ¢µÄÏ̻߳ᷢÉúʲôÄØ£¿
1¡£µ±Ò»¸öÏ߳̽øÈëmoniter£¨Ò²¾ÍÊÇ˵վÓÃÒ»¸öobject£©£¬ÁíÒ»¸öÏß³ÌÖ»Óеȴý»ò·µ»Ø£¬¶øÎÒÃÇ°Ñ·µ»Ø¾Í³ÆΪһÖÖģʽ£¬ÕâÖÖģʽµÄÓ¢ÎÄÊÇBalking¡£
2¡£ÕâÁ½¸öÏ߳̿ÉÒÔÊÇÓÐÐòµÄÖ´ÐУ¬¶ø²»ÊÇÈÃOSÀ´µ÷¶È£¬ÕâʱΠ......
ÔÚJavaÓïÑÔÖУ¬Ò»°ã²»ÐèÒª×Ô¶¨Òåequals()ºÍhashCode()ÕâÁ½¸ö·½·¨£¬µ±ÐèÒª¶Ô¶ÔÏóµÄÄÚÈݽøÐбȽϵÄʱºò£¬²ÅÐèÒªÕâÑùÁ½¸ö·½·¨¡£ÀýÈ磬ÐèÒª°Ñ¶ÔÏó·ÅÈëHashSet»òÕ߰ѶÔÏó×÷Ϊkey·ÅÈëHashMap¡¢ Hashtableʱ£¬Èç¹û²»Ïë°Ñ¾ßÓÐÏàͬÄÚÈݵÄÁ½¸ö¶ÔÏó×÷ΪÁ½¸ö¶ÔÏóÀ´¿´´ý£¬¾ÍÐèÒªÖض¨ÒåÕâÁ½¸ö·½·¨¡£ÕâÁ½¸ö·½·¨µÄʹÓÃÊÇ ......