ʹÓà 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 ±à³ÌȱÏÝ¿ÉÒÔ·ÖΪÁ½Àࣺ
*
Ïà¹ØÎĵµ£º
C++ÓëJava»ù±¾Êý¾ÝÀàÐͼ°ËùÕ¼ÓÃÄÚ´æ¿Õ¼ä±È½Ï
----------------C++
----------- ------------Java
----------
(01)bool-------- ......
3.package com.ncs.opts.tools;
import java.util.HashMap;
import java.util.Map;
import com.ncs.opts.common.icp.dao.po.audit.IcpMainHistory;
import com.ncs.opts.common.icp.dao.po.audit.IcpModifyHistory;
import com.ncs.opts.common.icp.dao.po.audit.IcpSiteAccessHistory;
import com.ncs.opts.common.i ......
×ܽáÒ»£º
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À´µ÷¶È£¬ÕâʱΠ......
½ñÈÕ¶Áµ½csdnµÄÐÂÎÅ¡¶ÓûΪJava¼¼Êõ´óÅ£ËùÐèµÄ25¸öѧϰҪµã¡·£¬Á˽âÒª×öÒ»¸öJava¼¼Êõ´óÅ£¿É²»ÊÇÒ»°ãÒ»°ãµÄ£¬ÌØÊÕ¼ÔÚ´Ë£ºÒÔ±Þ²ß×Ô¼º²»¶Ïѧϰ£º
1. ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÁ˽âUML£¬ÓÈÆäÊÇclass¡¢object¡¢interactionÒÔ¼°statediagrams¡£
2. ÄãÐèҪѧϰJavaÓïÑÔ ......