Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

Îҵġ¶Java ¸ß¼¶¼¼Êõ¡·¿Î³ÌPPT

¡¶Java¸ß¼¶¼¼Êõ¡·¿Î³Ì¼ò½é
1. Java³ÌÐòÉè¼ÆÓïÑÔÒýÂÛ
2. JavaÓïÑԵĽṹ»¯ÌØÐÔ
3.1. JavaÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¨1£©
3.2. JavaÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¨2£©
3.3. JavaÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¨3£©
3.4. JavaÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¨4£©
4.1. ÃæÏò¶ÔÏóÉè¼ÆÔ­Ôò
4.2. ÃæÏò¶ÔÏóÉè¼ÆÄ£Ê½Ê¾Àý
5.1. JavaµÄÒì³£´¦Àí»úÖÆ
5.2. JavaÓïÑÔ ......

̸̸"Java¼Ü¹¹"

1. J2EEÊǹ淶£¬ÊÇÒ»ÖÖJSR±ê×¼£¬ÓÐÏêϸÎĵµ£¬²ûÊöJ2EEÌṩÄÄЩ¹¦ÄÜ£¬¿ÉÒÔÏÂÔØÕâÑùÎĵµ£¬µ±È»»¹ÓÐһЩ´úÂë½Ó¿Ú£¬ÕâÊǵäÐÍJavaÊÀ½çÖеĿò¼Ü´úÂë+±ê×¼ÎĵµÐÎʽ£¬ÕâÊÇÖ»ÓÐ×ÔÓÉÊÀ½ç²ÅÓеĹ淶£¬ÔÚ΢ÈíMSÊÀ½çÄãÊǾø¶Ô²»»á¿´µ½µÄ£¬ËùÒÔ£¬´Ó΢Èíת¹ýÀ´µÄ£¬»áÔΣ¬»á²»ÊÊÓ¦£¬²»ÄÜÔÙ°´ÕÕËûÃÇÒÔǰµÄ¾­ÑéÀ´¿´´ý×ÔÓɵÄÐÂÊÀ½ç¡£
2.¼Ü¹¹ÊǾ ......

java ÐòÁл¯


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

java·ºÐÍT.classµÄ»ñÈ¡

   ºÜÔç֮ǰд¹ýÀûÓ÷ºÐͺͷ´Éä»úÖÆ³éÏóDAO £¬¶ÔÆäÖлñÈ¡×ÓÀà·ºÐ͵ÄclassÒ»Ö±²»ÊǺÜÀí½â¡£¹Ø¼üµÄµØ·½ÊÇHibernateBaseDaoµÄ¹¹Ôì·½·¨ÖеÄ
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class)params[0] ......

java ASM

Java ASM
ÎÒÃÇÖªµÀJavaÊǾ²Ì¬ÓïÑÔ£¬¶øpython¡¢rubyÊǶ¯Ì¬ÓïÑÔ£¬Java³ÌÐòÒ»µ©Ð´ºÃºÜÄÑÔÚÔËÐÐʱ¸ü¸ÄÀàµÄÐÐΪ£¬¶øpython¡¢ruby¿ÉÒÔ¡£
²»¹ý»ùÓÚbytecode²ãÃæÉÏÎÒÃÇ¿ÉÒÔ×öһЩÊֽţ¬À´Ê¹Java³ÌÐò¶àһЩÁé»îÐÔºÍMagic£¬ASM¾ÍÊÇÕâÑùÒ»¸öÓ¦Óù㷺µÄ¿ªÔ´¿â¡£
ASM is a Java bytecode manipulation framework. It can be used t ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ