Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

javaʹÓÃJNIµ÷ÓÃC++º¯Êý

ÍøÉÏÓÐÁ˺ܶàÕâÑùµÄÎÄÕ£¬²»¹ý¸Ð¾õ²¢²»ÊǺÜÈ«£¬ÎÒ¶¼¶«ÕÒÎ÷ÕÒ²Å×îÖÕ°ÑJAVAµ÷ÓÃc++¸ø¸ã¶¨¡£
ÏÂÃæÒýÓÃÁ˺ܶàÍøÉÏÒѾ­ÓеĵÄÄÚÈÝ£¬ÎÒÔÚÕâÀïÖ»ÊÇÕûºÏÒ»´Î£¬ÈÃÒÔºóµÄÅóÓÑÉÙ×ßÍøÂ·¡£
¶à˵ÎÞÒæ£¬¾ßÌåÈçÏ£º
×÷Õß:mykoma
¼ÙÉèËùÓÐÎļþ¶¼·ÅÔÚd:\
Step 1:
дJAVAÎļþ
ÀýÈç³ÌÐòtestdll.java£¬ÄÚÈÝΪ£º   
  public   class   testdll  {   
  static{   
  System.loadLibrary("testdll");   
  }   
  public   native   static   int   get();   
  public   native   static   void   set(int   i);   
  public   static   void   main(String[]   args)    {  
     testdll   test   =   new   testdll();   
     test.set(10);   
     System.out.println(test.get());   
   }      
  }  
ÓÃjavac   testdll.java±àÒëËü£¬»áÉú³Étestdll.class¡£
ÔÙÓÃjavah   testdll£¬Ôò»áÔÚµ±Ç°Ä¿Â¼ÏÂÉú³Étestdll.hÎļþ£¬Õâ¸öÎļþÐèÒª±»C/C++³ÌÐòµ÷ÓÃÀ´Éú³ÉËùÐèµÄ¿âÎļþ¡£
Step 2:
¸ù¾Ýtestdll.hдC++Îļþtestdll.cpp
testdll.cppÄÚÈÝΪ£º
#include   "testdll.h"   
  int   i   =   0;   
  JNIEXPORT   jint   JNICALL   Java_testdll_get   (JNIEnv   *,   jclass)     {   
      return   2*i;   
  }   
  JNIEXPORT   void   JNICALL   Java_testdll_set   (JNIEnv   *,   jclass,   jint   j)   {   
  i   =   j;   
  }  
Step 3:
Éú³Étestdll.dll
ÕâÒ»²½ÐèҪעÒ⣬ÎÒ×ʼҲÊÇÕÒÁ˺ܶà×ÊÁϲÅŪÕýÈ·
ÕâÀïÎÒʹÓõÄV


Ïà¹ØÎĵµ£º

C/C++Ó﷨֪ʶ£ºtypedef struct Ó÷¨Ïê½â

µÚһƪ£ºtypedef structÓëstructµÄÇø±ð
1. »ù±¾½âÊÍ
typedefΪCÓïÑԵĹؼü×Ö£¬×÷ÓÃÊÇΪһÖÖÊý¾ÝÀàÐͶ¨ÒåÒ»¸öÐÂÃû×Ö¡£ÕâÀïµÄÊý¾ÝÀàÐͰüÀ¨ÄÚ²¿Êý¾ÝÀàÐÍ£¨int,charµÈ£©ºÍ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ
£¨structµÈ£©¡£
ÔÚ±à³ÌÖÐʹÓÃtypedefÄ¿µÄÒ»°ãÓÐÁ½¸ö£¬Ò»¸öÊǸø±äÁ¿Ò»¸öÒ×¼ÇÇÒÒâÒåÃ÷È·µÄÐÂÃû×Ö£¬ÁíÒ»¸öÊǼò»¯Ò»Ð©±È½Ï¸´ÔÓµÄÀàÐÍÉùÃ÷ ......

Java±àÂë¹æ·¶(Ò»)

ÃüÃû¹æ·¶
ÏîÄ¿Ãû£º¸÷µ¥´ÊÊ××Öĸ´óд£¬ÆäËü×ÖĸСд
°üÃû£ºÈ«²¿×ÖĸСдÇÒΨһ£¬Í¨³£Îª¹«Ë¾ÓòÃûµÄµ¹Ðò
Ô´ÎļþÃû£º¸÷µ¥´ÊÊ××Öĸ´óд£¬ÆäËü×ÖĸСд
·½·¨Ãû£ºµÚÒ»¸öµ¥´ÊÈ«²¿Ð¡Ð´£¬ÆäÓ൥´ÊÊ××Öĸ´óд£¬ÆäËü×ÖĸСд£¬Ò»°ãӦΪ¶¯´Ê
³ÉÔ±±äÁ¿Ãû£ºµÚÒ»¸öµ¥´ÊÈ«²¿Ð¡Ð´£¬ÆäÓ൥´ÊÊ××Öĸ´óд£¬ÆäËü×ÖĸСд
³ÉÔ±³£Á¿Ãû£ºËùÓе¥ ......

java ÐòÁл¯


ʲôÊÇÐòÁл¯ 
javaÖеÄÐòÁл¯(serialization)»úÖÆÄܹ»½«Ò»¸öʵÀý¶ÔÏóµÄ״̬ÐÅϢдÈëµ½Ò»¸ö×Ö½ÚÁ÷ÖУ¬Ê¹Æä¿ÉÒÔͨ¹ýsocket½øÐд«Êä¡¢»òÕ߳־û¯´æ´¢µ½Êý¾Ý¿â»òÎļþϵͳÖУ»È»ºóÔÚÐèÒªµÄʱºò£¬¿ÉÒÔ¸ù¾Ý×Ö½ÚÁ÷ÖеÄÐÅÏ¢À´Öع¹Ò»¸öÏàͬµÄ¶ÔÏó¡£ÐòÁл¯»úÖÆÔÚjavaÖÐÓÐ׏㷺µÄÓ¦Óã¬EJB¡¢RMIµÈ¼¼Êõ¶¼ÊÇÒÔ´ËΪ»ù´¡µÄ¡£  ......

Java CGLIB

Java Cglib
1.CGLIB°üµÄ½éÉÜ
     ´úÀíΪ¿ØÖÆÒª·ÃÎʵÄÄ¿±ê¶ÔÏóÌṩÁËÒ»ÖÖ;¾¶¡£µ±·ÃÎʶÔÏóʱ£¬ËüÒýÈëÁËÒ»¸ö¼ä½ÓµÄ²ã¡£JDK×Ô´Ó1.3°æ±¾¿ªÊ¼£¬¾ÍÒýÈëÁ˶¯Ì¬´úÀí£¬²¢ÇÒ¾­³£±»ÓÃÀ´¶¯Ì¬µØ´´½¨´úÀí¡£JDKµÄ¶¯Ì¬´úÀíÓÃÆðÀ´·Ç³£¼òµ¥£¬µ±ËüÓÐÒ»¸öÏÞÖÆ£¬¾ÍÊÇʹÓö¯Ì¬´úÀíµÄ¶ÔÏó±ØÐëʵÏÖÒ»¸ö»ò¶à¸ö½Ó¿Ú¡£Èç¹ûÏë´úÀ ......

javaÊý¾ÝÀàÐÍ

java£º4Àà8ÖÖ»ù´¡Êý¾ÝÀàÐÍ£º
ÕûÐÍ£ºbyte  short  int  long
¸¡µãÐÍ: float  double
²¼¶ûÐÍ£ºboolean
×Ö·ûÐÍ£ºchar
³ýÁË4Àà8ÖÖ»ù´¡Êý¾ÝÀàÐÍ£¬ÆäËûµÄÊý¾ÝÀàÐͶ¼ÊÇÒýÓÃÀàÐÍÀýÈ綨ÒåµÄclass µÈµÈ£¬ÕâÒ»µãÒì³£ÖØÒª¡£·ñÔò»áµ¼ÖÂÔÚʹÓÃcontainerʱ³ö´í£¬Ã¿Ìí¼ÓÒ»¸ö¶ÔÏó½øÈëcontainer¶¼±ØÐëÊÇÒ»¸ö¶ÔÏó¶ø²» ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ