Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java Native Interface ÈëÃÅʾÀý

¼øÓÚÍøÉÏËѵ½µÄ¶¼ÊÇ»ùÓÚjdk1.4»òÒÔǰ°æ±¾£¬¶øÇÒ±¾µØ¿âÓõÄÊÇCÓïÑÔ¡£¶øÏÖÔÚÊÇ»ùÓÚC++£¬ËùÒÔ¸üмǼÈçÏ£º
µÚÒ»²½£º´´½¨JavaÔ´ÂëÎļþ
public class Hello{
        static{
                System.loadLibrary("Hello");
        }
        public Hello(){
        }
        public native void sayHello(String strName);
        public static void main(String[] args){
                Hello hello = new Hello();
                hello.sayHello("fuye");
        }
}
µÚ¶þ²½£º±àÒë
javac Hello.java
µÚÈý²¿£ºÉú³ÉC++ÎļþÍ·
javah Hello
Hello.hÎļþÄÚÈÝÈçÏ£º
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Hello */
#ifndef _Included_Hello
#define _Included_Hello
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     Hello
 * Method:    sayHello
 * Signature: (Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL Java_Hello_sayHello
  (JNIEnv *, jobject, jstring);
#ifdef __cplusplus
}
#endif
#endif
µÚËIJ½£ºÐ½¨C++ʵÏÖÎļþ
#include "Hello.h"
#include <stdio.h>
JNIEXPORT void JNICALL Java_Hello_sayHello(JNIEnv * env, jobject arg, jstring instring){
        printf("This is my first jni program\n");
}
µÚÎå²½£º ±àÒ룬Á¬½Ó³É±¾µØ¿â
1¡¢Éú³ÉHello.o
g++ -I /usr/local/dev/java/jdk1.5.0_16/include/ -I /usr/local/dev/java/jdk1.5.0_16/include/linux/ -c Hello.cpp
2¡¢Éú³ÉlibHello.so.1.0
g++ -shared -W1,-soname,libHell


Ïà¹ØÎĵµ£º

Java¶ÔÏóµÄÐòÁл¯ºÍ·´ÐòÁл¯

µ±Á½¸ö½ø³ÌÔÚ½øÐÐÔ¶³ÌͨÐÅʱ£¬±Ë´Ë¿ÉÒÔ·¢Ë͸÷ÖÖÀàÐ͵ÄÊý¾Ý¡£ÎÞÂÛÊǺÎÖÖÀàÐ͵ÄÊý¾Ý£¬¶¼»áÒÔ¶þ½øÖÆÐòÁеÄÐÎʽÔÚÍøÂçÉÏ´«ËÍ¡£·¢ËÍ·½ÐèÒª°ÑÕâ¸öjava¶ÔÏóת»»Îª×Ö½ÚÐòÁУ¬¼´java¶ÔÏóÐòÁкţ¬²ÅÄÜÔÚÍøÂçÉÏ´«ËÍ£»½ÓÊÕ·½ÔòÐèÒª°Ñ×Ö½ÚÐòÁÐÔÙ»Ö¸´ÎªJava¶ÔÏ󣬼´·´ÐòÁл¯¡£
¡¡¡¡°ÑJava¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì³ÆÎª¶ÔÏóµÄÐòÁл¯¡£
¡¡ ......

java Annotation Æ´×°SQLÓï¾ä

ÉùÃ÷×Ö¶ÎÓ³Éä
@Target(ElementType.FIELD)  
@Retention(RetentionPolicy.RUNTIME) 
public @interface FiledRef
{
    String fieldName();
}
ÉùÃ÷±íÓ³Éä
@Target(ElementType.TYPE)  
@Retention(RetentionPolicy.RUNTIME)
public @interface TableRef
{
 & ......

Java´®¿Ú±à³Ì1

    ¹«Ë¾Óõ½´®¿Ú±à³Ì£¬¹Ê¿ªÊ¼Ñо¿£¬Ê×ÏÈËѵ½µÄÊÇjavacomm20-win32.zipÕâ¸öѹËõ°ü£¬°´ÕÕÍøÉϵݲװÅäÖúã¬ÈçÏ£º
    API
    ÔÚjavax.commÏÂÓÐ13¸öÀàºÍ½Ó¿Ú£¬·Ö±ðÊÇ
    4¸ö½Ó¿Ú
    CommDriver ¿É¸ºÔØÉ豸£¨the loadable device£©Çý¶¯³ ......

³õѧjava£¬Ò»Ð©¸ÅÄî

1. javaÓëÆ½Ì¨Î޹ء£Ô´´úÂëÓɱàÒëÆ÷±àÒëΪ×Ö½ÚÂ루JVM¿ÉÖ´ÐдúÂ룩£»½âÊÍÆ÷ÔËÐÐJVM×Ö½ÚÂ루·­ÒëΪ»úÆ÷Â룩¼´¿ÉµÃµ½Êä³ö½á¹û¡£
×Ö½ÚÂë¿ÉÔÚ¶à¸öƽ̨ÔËÐУ¬²»ÐèÒªÖØÐ±àÒë¡£
c±àÒëÆ÷ÔÚ±àÒëʱÉú³ÉµÄ´úÂëÊÇÕë¶ÔÌØ¶¨µÄÓ²¼þƽ̨²úÉúµÄ¡£
2. java¿ª·¢¹¤¾ßJDK¡£°²×°JDKʱ×Ô´øjre£¬¾ÍÊÇjavaÐéÄâ»ú¡£
jdkÊÇJava¿ª·¢¹¤¾ß°ü£¬°üº¬Á˸ ......

Java¶ÔÏóµÄÐòÁл¯ºÍ·´ÐòÁл¯Êµ¼ù

µ±Á½¸ö½ø³ÌÔÚ½øÐÐÔ¶³ÌͨÐÅʱ£¬±Ë´Ë¿ÉÒÔ·¢Ë͸÷ÖÖÀàÐ͵ÄÊý¾Ý¡£ÎÞÂÛÊǺÎÖÖÀàÐ͵ÄÊý¾Ý£¬¶¼»áÒÔ¶þ½øÖÆÐòÁеÄÐÎʽÔÚÍøÂçÉÏ´«ËÍ¡£·¢ËÍ·½ÐèÒª°ÑÕâ¸öJava¶ÔÏóת»»Îª×Ö½ÚÐòÁУ¬²ÅÄÜÔÚÍøÂçÉÏ´«ËÍ£»½ÓÊÕ·½ÔòÐèÒª°Ñ×Ö½ÚÐòÁÐÔÙ»Ö¸´ÎªJava¶ÔÏó¡£
¡¡¡¡°ÑJava¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì³ÆÎª¶ÔÏóµÄÐòÁл¯¡£
¡¡¡¡°Ñ×Ö½ÚÐòÁлָ´ÎªJava¶ÔÏóµÄ¹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ