Java±¾µØ½Ó¿Ú(Java Native Interface (JNI))
JNI¹¤×÷ÔÀí
ÔÚJNIÖУ¬±¾µØº¯ÊýÊÇͨ¹ýÒ»¸ö¶ÀÁ¢µÄ.c»ò.cppÎļþÀ´ÊµÏÖµÄ(C++ΪJNIÌṩµÄ½çÃæ»á¸ü¼ò½àһЩ)¡£µ±JVMµ÷Óøú¯Êýʱ£¬Ëü´«µÝÁËÒ»¸öJNIEnvÖ¸Õë¡¢Ò»¸öjobjectÖ¸ÕëºÍͨ¹ýJava·½·¨¶¨ÒåµÄJava²ÎÊý£¬JNIº¯ÊýµÄÐÎʽÈçÏ£º
JNIEXPORT void JNICALL Java_ClassName_MethodName
(JNIEnv *env, jobjectobj)
{
//Method native implemenation
}
envÖ¸ÕëÊÇÒ»¸ö°üº¬ÁËJVM½Ó¿ÚµÄ½á¹¹£¬Ëü°üº¬ÁËÓëJVM½øÐн»»¥ÒÔ¼°ÓëJava¶ÔÏóÐͬ¹¤×÷Ëù±ØÐèµÄº¯Êý£¬Ê¾ÀýÖеÄJNIº¯Êý¿ÉÒÔÔÚ±¾µØÊý×éºÍJavaÊý×éÀàÐÍÖ®¼ä¡¢±¾µØ×Ö·û´®ºÍJava×Ö·û´®ÀàÐÍÖ®¼ä½øÐÐת»»£¬Æä¹¦ÄÜ»¹°üÀ¨¶ÔÏóµÄʵÀý»¯¡¢Å׳öÒì³£µÈ¡£»ù±¾ÉÏÄú¿ÉÒÔʹÓÃJNIEnvÀ´ÊµÏÖËùÓÐJavaÄÜ×öµ½µÄÊÂÇ飬ËäȻҪ¼òµ¥ºÜ¶à¡£
¸ü¼ÓÕýʽµÄ½âÊÍÊÇÕâÑùµÄ£¬±¾µØ´úÂëͨ¹ýµ÷ÓÃJNIµÄº¯ÊýÀ´·ÃÎÊJVM£¬ÕâÊÇͨ¹ýÒ»¸ö½çÃæÖ¸ÕëʵÏֵ썽çÃæÖ¸Õëʵ¼ÊÉÏÊÇÖ¸ÏòÖ¸ÕëµÄÖ¸Õ룩£¬¸ÃÖ¸ÕëÖ¸ÏòÒ»¸öÖ¸ÕëÊý×飬Êý×éÖеÄÿ¸öÖ¸Õë¶¼Ö¸ÏòÁËÒ»¸ö½çÃæº¯Êý£¬¶øÃ¿¸ö½çÃæº¯Êý¶¼ÊÇÔÚÊý×éÖÐÔ¤Ïȶ¨Òå¹ýµÄ¡£
±¾µØ·½·¨½«JNI½çÃæÖ¸Õëµ±×÷Ò»¸ö²ÎÊý£¬Èç¹ûÔÚͬһ¸öJavaÏß³ÌÖУ¬³öÏֶԸñ¾µØ·½·¨µÄ¶àÖØµ÷Óã¬JVMÔò±£Ö¤´«µÝÏàͬµÄ½çÃæÖ¸Õëµ½±¾µØ·½·¨¡£²»¹ý£¬Ò»¸ö±¾µØ·½·¨¿ÉÒÔ±»²»Í¬µÄJavaÏ̵߳÷Óã¬Òò¶øÒ²¿ÉÄÜ»áÊÕµ½²»Í¬µÄJNI½çÃæÖ¸Õë¡£
±¾µØ·½·¨ÊÇͨ¹ýSystem.loadLibrary·½·¨¼ÓÔØµÄ£¬ÔÚÒÔϵÄÀý×ÓÖУ¬ÀàµÄ³õʼ»¯·½·¨¼ÓÔØÁËÒ»¸öÖ¸¶¨Æ½Ì¨µÄ±¾µØÀà¿â£¬¸ÃÀà¿â¶¨ÒåÁ˱¾µØ·½·¨£º
packagepkg;
class Cls {
native double f(inti, String s);
static {
System.loadLibrary(pkg_Cls");
}
}
system.loadLibrary·½·¨µÄ²ÎÊýÊÇÒ»¸öÀà¿âµÄÃû³Æ£¬Ëü¿ÉÒÔÓɳÌÐòÔ±ÈÎÒâѡȡ£¬ÏµÍ³Ôò×ñÑÒ»¸ö±ê×¼µÄ±¾µØ»¯Æ½Ì¨µÄ·½Ê½À´×ª»»Àà¿âµÄÃû³Æµ½Ò»¸ö±¾µØÀà¿âµÄÃû³Æ¡£ÀýÈ磬ÔÚSolaris²Ù×÷ϵͳÖлὫpkg_Clsת»»Îªlibpkg_Cls.so£¬¶øWin32ϵͳÔò»á½«Í¬ÑùµÄpkg_Clsת»»Îªpkg_Cls.dll¡£
¡¡¡¡¶¯Ì¬Ö¸Õë»á¸ù¾ÝËüÃǵÄÃû×ÖÀ´½øÐнâÎö£¬Ò»¸ö±¾µØ·½·¨µÄÃû³ÆÊǰ´ÕÕ×é¼þ½øÐÐÁ¬½ÓµÄ£¬Ëü°üº¬ÁË£ºÇ°×º“Java_”¡¢Ò»¸ö·ÖÀëµÄºÏ·¨µÄÀàÃû³ÆºÍÒ»¸ö·ÖÀëµÄ·½·¨Ãû³Æ¡£
×¢Ò⣺΢ÈíµÄJVMÓÐÏàͬµÄ»úÖÆ´ÓJavaµ÷Óñ¾µØWindows´úÂ룬¸Ã»úÖÆ±»³ÆÎªÔʼ±¾µØ½Ó¿Ú(Raw Native
Ïà¹ØÎĵµ£º
ÔÚ¿ª·¢Öбàд¸ßÐÔÄÜJavaµÄ×¢Òâµã
1.Òª°Ñ×¢Òâµã·Åµ½Éè¼ÆÉÏ.
2.²»ÒªÒÀÀµ±àÒëÆ÷µÄÓÅ»¯¼¼Êõ,ÕýÈ·µÄÀí½âÔËÐÐÆÚ´úÂë,À´Ìá¸ßµÄ´úÂëµÄÔËÐÐËÙ¶È.
3.¶Ô¶ÔÏóµÄ´´½¨³É±¾½µµ½×îµÍ(±ÈÈç:ºÏÀíÉè¼ÆÀàµÄ´óС¡¢ºÏÀíÉè¼ÆÀàµÄÉî¶È¡¢²»Òª´´½¨²»±ØÒªµÄ¶ÔÏóµÈµÈ¡£¡£)
4.¾¡Á¿Ê¹ÓÃStringBufferÁ¬½Ó×Ö·û´®¡£
5.½µµÍͬ²½´øÀ´µÄÐÔÄÜÓ°Ïì¡£
ÒÔÉÏÖ»Ê ......
Ô´´¡¿Java Builder ³õÌåÑé
2006-10-19 11:43 junziyang
¡¾Ô´´¡¿Java Builder ³õÌåÑé
MATLABµÄ×îа汾2006bÖÐÐÂÌíÁËÒ»¸ö²úÆ·£MATLAB Builder for Java¡£Æäʵ±¾À´Matlab¾ÍÓÐJavaÍⲿ³ÌÐò½Ó¿Ú£¬²»¹ýÔÀ´µÄ½Ó¿ÚÖ»ÄÜÔÚ.mÎļþÖе÷ÓÃJava£¬¶øÎÞ·¨ÔÚJava³ÌÐòÖе÷ÓÃMatlab¡£ÐµÄJava BuilderΪÎÒÃÇÔÚJava³ÌÐòÖе÷ÓÃMatlab·á¸» ......
Bean Serializable Interface µÄ½Ó¿ÚÈÃBEAN¿ÉÒÔ´®Ðл¯£¬½«Æä±ä³ÉÒ»¸ö¿É±£´æÎªÒÔºóʹÓõĶþ½øÖÆÁ÷¡£µ±Ò»¸öBEAN±»ÏµÁл¯µ½´ÅÅÌÉÏ»òÕ߯äËûÈκεط½£¬Æä״̬±»±£´æÆðÀ´£¬ÆäÖеÄÊôÐÔÖµÒ²²»»á¸Ä±ä¡£ÔÚBEANµÄ¹æ·¶ÖУ¬JSP²¢Ã»ÓÐÒªÇóBEANʵÏÖSerializable½Ó¿Ú¡£µ«ÊÇ£¬Èç¹ûÄúÏ£Íû×Ô¼º¿ØÖÆÄúËù´´½¨µÄ×é¼þµÄserialization½ø³Ì£¬»òÕßÄúÏë ......
(1)JavaÖеÄÖ÷·½·¨public static void main(String args[])ΪʲôҪÓÃstaticÀ´ÐÞÊÎ
ÒòΪjavaÊÇÍêÈ«ÃæÏò¶ÔÏóÓïÑÔ,Õâ¸öÖ÷º¯ÊýÆäʵÊÇÒ»¸öÀàµÄ·½·¨,Õâ¸ö·½·¨ÔÚÀàûÓÐÉú³É¶ÔÏóµÄʱºò¾Í±ØÐë±»JVMµ÷ÓÃ,ËùÒÔËü±ØÐëÊǾ²Ì¬µÄ³ÉÔ±º¯Êý.
£¨2£©javaÓïÑÔÖеÄpublic static void main(String[] args) ×÷ÓÃÊÇʲô.Ëù×öµÄÊÂÇéÓÖÊÇʲ ......
/*
*ÈÕÆÚ:2010-04-18 20:02
*¿ª·¢Õß:heroyan
*ÁªÏµ·½Ê½:zndxysf@126.com
*¹¦ÄÜ:ÎÞÏòͼ×îСÉú³ÉÊ÷KruskalË㷨ʵÏÖ°¸Àý
*/
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
public class Kruskal{
private static int MAX = 100;
private ArrayList<Edge> edge = new Ar ......