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
Ïà¹ØÎĵµ£º
http://www.trendcaller.com/2009/05/hadoop-should-target-cllvm-not-java.html
Sunday, May 10, 2009
Hadoop should target C++/LLVM, not Java (because of watts)
< type="text/javascript">
digg_url="http://www.trendcaller.com/2009/05/hadoop-should-target-cllvm-not-java.html";
Over the years, ......
½ñÌ츴ϰÁËÒ»ÏÂÕâЩ֪ʶ£¬Ë³±ã×öÁËϱʼÇ.
1.¼Ä´æÆ÷£º×î¿ìµÄ´æ´¢Çø, ÓɱàÒëÆ÷¸ù¾ÝÐèÇó½øÐзÖÅä,ÎÒÃÇÔÚ³ÌÐòÖÐÎÞ·¨¿ØÖÆ.
2. Õ»£º´æ·Å»ù±¾ÀàÐ͵ıäÁ¿Êý¾ÝºÍ¶ÔÏóµÄÒýÓ㬵«¶ÔÏó±¾Éí²»´æ·ÅÔÚÕ»ÖУ¬¶øÊÇ´æ·ÅÔÚ¶Ñ£¨new ³öÀ´µÄ¶ÔÏ󣩻òÕß³£Á¿³ØÖУ¨×Ö·û´®³£Á¿¶ÔÏó´æ·ÅÔÚ³£Á¿³ØÖС££©
3. ¶Ñ£º´æ·ÅËùÓÐnew³öÀ´µÄ¶ÔÏó¡£
4. ¾²Ì¬Óò£ ......
1. J2EEÊǹ淶£¬ÊÇÒ»ÖÖJSR±ê×¼£¬ÓÐÏêϸÎĵµ£¬²ûÊöJ2EEÌṩÄÄЩ¹¦ÄÜ£¬¿ÉÒÔÏÂÔØÕâÑùÎĵµ£¬µ±È»»¹ÓÐһЩ´úÂë½Ó¿Ú£¬ÕâÊǵäÐÍJavaÊÀ½çÖеĿò¼Ü´úÂë+±ê×¼ÎĵµÐÎʽ£¬ÕâÊÇÖ»ÓÐ×ÔÓÉÊÀ½ç²ÅÓеĹ淶£¬ÔÚ΢ÈíMSÊÀ½çÄãÊǾø¶Ô²»»á¿´µ½µÄ£¬ËùÒÔ£¬´Ó΢Èíת¹ýÀ´µÄ£¬»áÔΣ¬»á²»ÊÊÓ¦£¬²»ÄÜÔÙ°´ÕÕËûÃÇÒÔǰµÄ¾ÑéÀ´¿´´ý×ÔÓɵÄÐÂÊÀ½ç¡£
2.¼Ü¹¹ÊǾ ......
Java Cglib
1.CGLIB°üµÄ½éÉÜ
´úÀíΪ¿ØÖÆÒª·ÃÎʵÄÄ¿±ê¶ÔÏóÌṩÁËÒ»ÖÖ;¾¶¡£µ±·ÃÎʶÔÏóʱ£¬ËüÒýÈëÁËÒ»¸ö¼ä½ÓµÄ²ã¡£JDK×Ô´Ó1.3°æ±¾¿ªÊ¼£¬¾ÍÒýÈëÁ˶¯Ì¬´úÀí£¬²¢ÇÒ¾³£±»ÓÃÀ´¶¯Ì¬µØ´´½¨´úÀí¡£JDKµÄ¶¯Ì¬´úÀíÓÃÆðÀ´·Ç³£¼òµ¥£¬µ±ËüÓÐÒ»¸öÏÞÖÆ£¬¾ÍÊÇʹÓö¯Ì¬´úÀíµÄ¶ÔÏó±ØÐëʵÏÖÒ»¸ö»ò¶à¸ö½Ó¿Ú¡£Èç¹ûÏë´úÀ ......