Java»ù´¡ÖªÊ¶——JNIÈëÞµä
JNIÊÇJava Native InterfaceµÄËõд£¬Í¨¹ýʹÓÃnative·½·¨£¬Java¿ÉÒÔµ÷Óñ¾µØC/C++×Ó³ÌÐò¡£ÉùÃ÷Ò»¸ö±¾µØ×Ó³ÌÐòµÄ·½·¨ÊÇ£ºÔÚ·½·¨ÃûǰÌí¼ÓnativeÐÞÊΣ¬Èç
public native void myfun();
µ÷ÓøÃ×Ó³ÌÐòµÄ·½·¨Îª£º
static{
System.loadLibrary("myfun");
}
ÔÚWindowsÉÏ£¬ÉÏÃæµÄmyfun¼´Ö¸°üº¬ÓÃC/C++дµÄmyfun()µÄʵÌåµÄDLL——myfun.dll¡£ÏÂÃæÒÔNativeDemo³ÌÐòΪÀýÀ´ËµÃ÷ÔõÑùÔÚWindowsÏ£¨XP+VS2008+JDK1.6u17£©Ê¹ÓÃJNI¡£
1. ±àдԴ³ÌÐòNativeDemo.java
NativeDemo.javaÖÐÉùÃ÷ÁËÒ»¸ö±¾µØ×Ó³ÌÐòtest()£º
public native void test();
¸Ã×Ó³ÌÐò´ÓÖ÷³ÌÐò»ñµÃint±äÁ¿iµÄÖµ£¬¶ÔÆä¼Ó±¶£¬È»ºó·µ»Ø¸øÖ÷³ÌÐò¡£¾ßÌå´úÂëÈçÏ£º
// Using Native method
public class NativeDemo{
int i;
public static void main(String args[]){
NativeDemo ob=new NativeDemo();
ob.i=10;
System.out.println("This is ob.i before the native method: "+ob.i);
ob.test(); //call a native method
System.out.println("This is ob.i after the Native method: "+ob.i);
ob.test(); //call a native method
System.out.println("This is ob.i after the Native method: "+ob.i);
}
// declare native method
public native void test();
static{
// load DLL that contains static method
System.loadLibrary("NativeDemo");
}
}
2. ±àÒëNativeDemo.java
javac NativeDemo.java
µÃµ½NativeDemo.class
3. ʹÓÃjavah.exeÉú³ÉNativeDemo.h
javah -jni NativeDemo
javah.exeÔÚ%JAVA_HOME%\binÏ£¬Éú³ÉµÄNativeDemo.hÈçÏ£º
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class NativeDemo */
#ifndef _I
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
±¾ÔÂ3ÈÕSunµÄJ2SE 5.0ʵÏÖÒÑÖÕ½á·þÎñÖÜÆÚ£¨End of Service Life£¬¼´EOSL£©£¬ÕâÒ»ÌìÒ²ÊÇ×îºóµÄÒ»´Î5.0¸üз¢²¼ÈÕÆÚ£¨J2SE 5.0 Update 22£©¡£Ñ°ÇóSunÖ§³ÖµÄÓû§¿ÉÒÔÑ¡ÔñÉý¼¶µ½Java 6»òÊǶ©ÔÄSunµÄJava for Business³ÌÐò¡£
SunÌṩÁ˶àÖÖ¶àÑùµÄJava¸¶·ÑÖ§³Ö¡£Java¾µäÖ§³Ö£¨classic support£©º¸ÇÁË´Ó²úÆ··¢²¼Ö®ÈÕÆð3Äê ......
1¡¢¼¯ºÏÆäʵ¿ÉÒÔ¿´³ÉΪÊý×éµÄÀ©Õ¹£¬ËüÓëÊý×éµÄ²»Í¬Ö®´¦ÔÚÓÚ:
¡¶1¡· Ò»¸öÊý×éÖ»ÔÊÐí´æ´¢Ò»ÖÖÀàÐ͵ÄÊý¾Ý£¬¶øÒ»¸ö¼¯ºÏ¿ÉÒÔ´æ´¢ÈÎÒ»ÖÖ¶ÔÏóÀàÐÍÊý¾Ý£»
¼òµ¥µÄ˵һ¸ö¼¯ºÏÀàËÆÒ»¸ö O ......
ÖÚËùÖÜÖª£¬javaÖÐintÐͺÍcharÐÍÊý¾Ý²»ÏñcÓïÑÔÖÐÄÇÑù¿ÉÒÔÈÎÒâת»»£¬¼´²»¿ÉÒÔ½«Ò»¸öintÐͱäÁ¿×Ô¶¯×ª»»ÎªcharÐÍ£¬ÈçÏÂÃæ´úÂëÖеÄÑÝʾ:
public class TestSort{
public static void main(String args[]){
int x='a';//²»»á²úÉú±àÒë´íÎó£¬ÒòΪ'a'¸³¸øxÊÇÒþʽת»»
System.out.println(x);
&nb ......
Õ⼸ÌìÒ»Ö±ÔÚÑо¿FlexÖÐRemoteObjectÓëjavaµÄ½»»¥ÎÊÌ⣬¿ÉÒ»Ö±²»³É¹¦£¬½ñÌìÖÕÓڳɹ¦ÁË£¬µ«ÊÇ»¹ÓÐһЩÒÉ»ó£¬Ó¦¸Ã¼ÌÐøÅ¬Á¦¡£
ÏÂÃæÊÇÎҵľ¹ýºÍÅöµ½µÄ´íÎó£º
£¨1£©ÏÂÔØºÍ°²×°lcds.
ÔÚ°²×°Ä¿Â¼Ï»áÓÐÈçÏÂÎļþ£¬ÆäÖÐlcds.war¿ÉÒÔ×÷ΪÎÒÃÇ¿ª·¢FlexÓëjava½»»¥µÄÄ£°æ£¬°ÑÕâ¸öÎļþ¿¼µ½ÄãtomcatµÄwebappsÏ£¨µ±È»ÕâÖÖÇé¿öÊÇÄ ......