java JNI ³¢ÊÔ
¡¡¡¡Ê×ÏÈÒýÓÃһƪÎÄÕ£¬½éÉÜÒ»¸ö¼òµ¥µÄJNIµÄµ÷ÓõĹý³Ì¡£¡¡¡¡JAVAÒÔÆä¿çƽ̨µÄÌØÐÔÉîÊÜÈËÃÇϲ°®£¬¶øÓÖÕýÓÉÓÚËüµÄ¿çƽ̨µÄÄ¿µÄ£¬Ê¹µÃËüºÍ±¾µØ»úÆ÷µÄ¸÷ÖÖÄÚ²¿ÁªÏµ±äµÃºÜÉÙ£¬Ô¼ÊøÁËËüµÄ¹¦ÄÜ¡£½â¾öJAVA¶Ô±¾µØ²Ù×÷µÄÒ»ÖÖ·½·¨¾ÍÊÇJNI¡£¡¡¡¡JAVAͨ¹ýJNIµ÷Óñ¾µØ·½·¨£¬¶ø±¾µØ·½·¨ÊÇÒÔ¿âÎļþµÄÐÎʽ´æ·ÅµÄ£¨ÔÚWINDOWSƽ̨ÉÏÊÇDLLÎļþÐÎʽ£¬ÔÚUNIX»úÆ÷ÉÏÊÇSOÎļþÐÎʽ£©¡£Í¨¹ýµ÷Óñ¾µØµÄ¿âÎļþµÄÄÚ²¿·½·¨£¬Ê¹JAVA¿ÉÒÔʵÏֺͱ¾µØ»úÆ÷µÄ½ôÃÜÁªÏµ£¬µ÷ÓÃϵͳ¼¶µÄ¸÷½Ó¿Ú·½·¨¡£ ¡¡¡¡¼òµ¥½éÉܼ°Ó¦ÓÃÈçÏ£º ¡¡¡¡Ò»¡¢JAVAÖÐËùÐèÒª×öµÄ¹¤×÷ ¡¡¡¡ÔÚJAVA³ÌÐòÖУ¬Ê×ÏÈÐèÒªÔÚÀàÖÐÉùÃ÷Ëùµ÷ÓõĿâÃû³Æ£¬ÈçÏ£º
static { System.loadLibrary(“goodluck”); }
¡¡¡¡ÔÚÕâÀ¿âµÄÀ©Õ¹Ãû×Ö¿ÉÒÔ²»ÓÃд³öÀ´£¬¾¿¾¹ÊÇDLL»¹ÊÇSO£¬ÓÉϵͳ×Ô¼ºÅжϡ£ ¡¡¡¡»¹Ðè¶Ô½«Òªµ÷Óõķ½·¨×ö±¾µØÉùÃ÷£¬¹Ø¼ü×ÖΪnative¡£ÇÒÖ»ÐèÒªÉùÃ÷£¬¶ø²»ÐèÒª¾ßÌåʵÏÖ¡£ÈçÏ£º
public native static void set(int i); public native static int get();
¡¡¡¡È»ºó±àÒë¸ÃJAVA³ÌÐòÎļþ£¬Éú³ÉCLASS£¬ÔÙÓÃJAVAHÃüÁJNI¾Í»áÉú³ÉC/C++µÄÍ·Îļþ¡£ ¡¡¡¡ÀýÈç³ÌÐòtestdll.java£¬ÄÚÈÝΪ£º
public class testdll { static { System.loadLibrary("goodluck"); } 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++³ÌÐòµ÷ÓÃÀ´Éú³ÉËùÐèµÄ¿âÎļþ¡£ ¡¡¡¡¶þ¡¢C/C++ÖÐËùÐèÒª×öµÄ¹¤×÷ ¡¡¡¡¶ÔÓÚÒÑÉú³ÉµÄ.hÍ·Îļþ£¬C/C++ËùÐèÒª×öµÄ£¬¾ÍÊǰÑËüµÄ¸÷¸ö·½·¨¾ßÌåµÄʵÏÖ¡£È»ºó±àÒëÁ¬½Ó³É¿âÎļþ¼´¿É¡£ÔÙ°Ñ¿âÎļþ¿½±´µ½JAVA³ÌÐòµÄ·¾¶ÏÂÃæ£¬¾Í¿ÉÒÔÓÃJAVAµ÷ÓÃC/C++ËùʵÏֵŦÄÜÁË¡£ ¡¡¡¡½ÓÉÏÀý×Ó¡£ÎÒÃÇÏÈ¿´Ò»ÏÂtestdll.hÎļþµÄÄÚÈÝ£º
/* DO NOT EDIT THIS FILE - it is machine generated */ #include /* Header for class testdll */ #ifndef _Included_testdll #define _Included_testdll #ifdef __cplusplus extern "C" { #endif /* * Class: testdll * Method: get * Signature: ()I */ JNIEXPORT jint JNICALL Java_testdll_get (JNIEnv *, jclass); /* * Class: testdll * Method: set * Signature: (I)V */ JNIEXPORT void J
Ïà¹ØÎĵµ£º
ÔÚJavaÖУ¬“Ïָ߳̔Á½¼þ²»Í¬µÄÊÂÇ飺
1¡¢java.lang.ThreadÀàµÄÒ»¸öʵÀý£»
2¡¢Ï̵߳ÄÖ´ÐС£
ʹÓÃjava.lang.ThreadÀà»òÕßjava.lang.Runnable½Ó¿Ú±àд´úÂëÀ´¶¨Ò塢ʵÀý»¯ºÍÆô¶¯ÐÂÏ̡߳£
Ò»¸öThreadÀàʵÀýÖ»ÊÇÒ»¸ö¶ÔÏó£¬ÏñJavaÖеÄÈÎºÎÆäËû¶ÔÏóÒ»Ñù£¬¾ßÓбäÁ¿ºÍ·½·¨£¬ÉúËÀÓÚ¶ÑÉÏ¡£
JavaÖУ¬Ã¿¸öÏ̶߳¼ÓÐÒ»¸öµ÷ ......
ÒÔÏÂÊÇ Java ÅжÏ×Ö·û´®ÊÇ·ñΪ¿ÕµÄÈýÖÖ·½·¨.
·½·¨Ò»: ×î¶àÈËʹÓõÄÒ»¸ö·½·¨, Ö±¹Û, ·½±ã, µ«Ð§ÂʺܵÍ.
·½·¨¶þ: ±È½Ï×Ö·û´®³¤¶È, ЧÂʸß, ÊÇÎÒÖªµÀµÄ×îºÃÒ»¸ö·½·¨.
·½·¨Èý: Java SE 6.0 ²Å¿ªÊ¼ÌṩµÄ·½·¨, ЧÂʺͷ½·¨¶þ¼¸ºõÏàµÈ, µ«³öÓÚ¼æÈÝÐÔ¿¼ÂÇ, ÍÆ¼öʹÓ÷½·¨¶þ.
ÒÔÏ´úÂëÔÚÎÒ»úÆ÷ÉϵÄÔËÐнá¹û: (»úÆ÷ÐÔÄܲ»Ò», ½ö¹ ......
Ê×ÏÈ£¬×öÒ»µã˵Ã÷¡£FlexÊDz»ÄÜÖ±½ÓÁ¬½ÓÊý¾Ý¿âµÄ£¬ÕâÒ»µã´ó¼ÒÐèÒªÖªµÀ£¬ËüÖ»Äܼä½ÓµØÁ¬½ÓÊý¾Ý¿â¡£FlexÖÐÌṩÁËÈýÖÖ·½Ê½£ºHttpService£¬WebService ºÍRemoteObject¡£ÆäÖÐHttpService¿ÉÒÔÖ±½Ó»ñÈ¡XMLÖеÄÊý¾Ý£¬»¹¿ÉÒÔͨ¹ýJSP,ASPÒÔ¼°PHP¶ÁÈ¡Êý¾Ý¿âÖеÄÊý¾Ý£¬Õâ¸ö±È½Ï¼òµ¥£¬¶øÇÒÍøÉÏÒ²ÓкܶàÀý×Ó£¬ÎҾͲ»¶à˵ÁË¡£WebServiceÎÒ²» ......
¹Ø¼ü×Ö: axis
ÓÉÓÚûѧϰ¹ý.net
£¬×î½ü³ÌÐòÖÐÐèÒªµ÷ÓÃ.net
µÄwebservice
½Ó¿ÚµÃµ½Ò»ÕÅͼƬ¡£ÔÚÍøÉÏÕÒÁ˺öà×ÊÁÏÑ¡ÓõÄaxisÀ´ÊµÏÖµ÷Óá£
Ê×ÏÈ¿´¿´.net
ʵÏÖWebmehodµÄÁ½ÖÖ·½Ê½£¬ÕâÁ½ÖÖ·½Ê½java
´«²ÎÊýµÄ·½Ê½Ò²Óв»Í¬
1.rpc·½Ê½£º
Java
´úÂë
using System;
using& ......
Õ⼸Ì죬ÔÚÍøÉÏËÑÁËºÜ¶à¹ØÓÚjavaµÄ¶«Î÷£¬ÏÖÔÚ¸ø´ó¼Ò×ܽáһϣ¬·Ç³£ÓÐÓÃŶ£¬ºÜ¶à¶«Î÷ÎÒÃÇÔÚ¹úÄÚÊÇÎÞ·¨Á˽⵽µÄ
java³ÌÐòÔ±±ØÈ¥µÄ¹úÍâÍøÕ¾
http://www.onjava.com
ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í
http://www.developer.com/java
ÓÉGamelan.com ά»¤µÄJava¼¼ÊõÎÄÕÂÍøÕ¾
http://www.java.net
Sun¹«Ë¾Î¬»¤µÄÒ»¸öJavaÉçÇøÍøÕ¾
http:/ ......