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Óëģʽ¡·Ê×ÏȲûÊöÁË´úÂëµÄÉè¼ÆÔÔò£¬ÓÖÃèÊöÁËÔõÑùÀ´´´½¨Ò»¸öÀà»ò¶ÔÏ󣬽ô½ÓןæËß´ó¼ÒÔõÑùÀ´×éÖ¯ÕâЩÀàºÍ¶ÔÏóÀ´ÊµÏÖ¹¦ÄÜ¡£ËüÊÇÉè¼ÆÄ£Ê½£¬¶ø²»ÊǼܹ¹Ä£Ê½¡£
OOÃæÏò¶ÔÏó±à³Ì£¬ÊµÖÊÉÏÊÇÃæÏò³éÏó±à³Ì£¬¼´ÃæÏò½Ó¿Ú±à³Ì¡£ËùνµÄÃæÏò½Ó¿Ú±à³Ì£¬Ö¸ÀàÖ®¼ä¶¼ÒªÊ¹ÓýӿÚÀ´Í¨ÐÅ¡£ÀàÀ´·â×°¶ÔÏóµÄÐÐΪ£¬½Ó¿ÚÀ´·â×°ÀàÖ®¼äµÄͨÐÅ·½·¨ ......
²åÈëʽÅÅÐòÔËÐÐЧÂÊN*(N-1)/4 ¶ÔÓÚËæ»úÊý×Ö,Õâ¸öËã·¨±ÈðÅÝ¿ì1±¶,±ÈÑ¡ÔñÅÅÐòÉÔ΢¿ìÒ»µã.
Èç¹ûÊÇ»ù±¾ÓÐÐòµÄ¶ÓÁÐÔòÓÅÊÆ×îΪÃ÷ÏÔÐèÒªO(N)
´úÂëÒ»ÑùÊÇ´ÓðÅÝÅÅÐò¼Ì³ÐÏÂÀ´µÄ.
/**
*
* @author leon.lee
*/
public class InsertSort extends BubbleSort {
public InsertSort(int lengthArray){
......
Ò»¡¢ÀûÓÃjdk web·þÎñapiʵÏÖ£¬ÕâÀïʹÓûùÓÚ SOAP message µÄ Web ·þÎñ
¡¡¡¡1.Ê×ÏȽ¨Á¢Ò»¸öWeb services EndPoint£º
¡¡¡¡Java´úÂë
¡¡¡¡package Hello;
¡¡¡¡import javax.jws.WebService;
¡¡¡¡import javax.jws.WebMethod;
¡¡¡¡import javax.xml.ws.Endpoint;
¡¡¡¡@WebService
¡¡¡¡public class Hello {
¡¡¡¡@WebMet ......
½ñÌì¸øÎÒÃÇÉϿεÄÊÇ·ëÍþÀÏʦ£¬ÀÏʦÒÔǰ¹¤×÷µÄ¹«Ë¾ÊǶÔÈÕÈí¼þ¿ª·¢µÄ£¬Óн«½üÊ®ÄêµÄ¹¤×÷¾ÑéÁË£¬ÖÚËùÖÜÖª£¬ÈÕ±¾È˶Թ¤×÷ÒªÇóÊÇÊ®·ÖÑϽ÷µÄ£¬¾ÝÀÏʦËù˵£¬ÒÔǰÔÚ¹«Ë¾±àÂëµÄʱºòÒªÇóÊÇÒ»ÐдúÂëÒ»ÐÐ×¢ÊÍ£¬Èç¹ûûÓÐ×¢Ê͵ϰÔÚÉóºËµÄʱºòÊDz»»áͨ¹ýµÄ£¬Ã»ÓÐ×¢ÊÍÊǻᱻ°´ÕÕbug´¦ÀíµÄ£¬ËùÒÔÏÖÔÚÀÏʦÉÏ¿ÎÏÖ³¡±àÂëµÄʱºòÒ²ÊÇÐÐÐÐдעÊÍ£ ......
¹«Ë¾Óõ½´®¿Ú±à³Ì£¬¹Ê¿ªÊ¼Ñо¿£¬Ê×ÏÈËѵ½µÄÊÇjavacomm20-win32.zipÕâ¸öѹËõ°ü£¬°´ÕÕÍøÉϵݲװÅäÖúã¬ÈçÏ£º
API
ÔÚjavax.commÏÂÓÐ13¸öÀàºÍ½Ó¿Ú£¬·Ö±ðÊÇ
4¸ö½Ó¿Ú
CommDriver ¿É¸ºÔØÉ豸£¨the loadable device£©Çý¶¯³ ......