ʹÓÃvc++ 6.0ÖÆ×÷dll£¬²¢ÔÚjava³ÌÐòÖÐʹÓã¨×ª£©
雖È»JAVAµÄ³Ìʽ¶¼±Ø須ÔÚJAVAµÄ虛擬機Æ÷ÉÏ執ÐУ¬µ«ÊÇÎÒ們¿ÉÒÔÔÚ這²¿機Æ÷ÖдòÒ»個¶´£¬讓JAVA³Ìʽ¿ÉÒÔÖ±½Ó溝ͨ實際µÄ機Æ÷
JNIÊÇÒ»種讓JAVA³Ìʽ¿ÉÒÔÍâ½ÓÍⲿ³ÌʽµÄÒ»種機ÖÆ£¬讓JAVA³Ìʽ¸ü¾ßÓÐ擴³äÐÔ£¬ÏÂÃæ將ʾ範Ò»個簡單µÄ範Àý£¬這個範ÀýÖÐ說Ã÷JAVA³ÌʽÈçºÎ與C語
ÑÔ½Ó軌£¬ÊÂ實ÉÏ×òÌìËù談µÄProlog¾ÍÊÇÀûÓÃ這種·½Ê½Ê¹Java³Ìʽ¿ÉÒÔʹÓÃprolog£¬Í¸過dllºÍnativeµÄ·½Ê½來達³É這項ÈÎ務£¬經過這樣µÄ
測試與實驗Ö®áá讓ÎÒ²»µÃ²»Åå·þjava這個³Ìʽ語ÑÔ
Äã²»ÐèÒª擔ÐijÌʽ·½ÃæµÄ問題£¬Òò為µ×ϵijÌʽ¼Ü構¶¼Ïà當簡單£¬Ö÷ÒªÖ»ÊÇ讓ÎÒ們體驗Ò»ÏÂ
¹¤¾ß½é紹£ºÎÒ將ʹÓÃvisual c++ 6.0來製×÷dll£¬Ê¹ÓÃjava sdk 1.4來編譯ÎÒµÄjava
java²¿·ÖµÄ實×÷
³Ìʽ碼ÈçÏÂ(HelloWorld.java)£º
class HelloWorld {
public native void displayHelloWorld();//×ó·½µÄnativeÐÍ態ÊÇ֪ͨJava這個º¯數會ʹÓõ½Íⲿº¯數
static {
System.loadLibrary("hello");//×󷽵ijÌʽ碼´ú±íÎÒÒª載Èëhello.dllµÄ動態連結£¬hello.dllµÄ製×÷ÎÒÔÚÉÔáá會×ö½é紹
}
public static void main(String[] args) ...{
new HelloWorld().displayHelloWorld();
}
}
當ÄãÍê³ÉÉÏÊöµÄ³Ìʽ֮áᣬ將這個³Ìʽ´æ檔為''HelloWorld.java''ÏÈÓÃ''javac
HelloWorld.java''這個Ö¸Áî將Ëü組譯³ÉHelloWorld.class£¬È»ááʹÓÃ''javah
HelloWorld''產ÉúHelloWorld.h£¬ÔÚHelloWorld.hÖÐÎÒ們ÖªµÀÎÒ們Òª實×÷Ò»個º¯數
Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject); ½ÓÏÂ來ÎÒ將½é紹ÈçºÎÍê³É這個º¯數
&
Ïà¹ØÎĵµ£º
×î½üÓöµ½Ò»¸öÐèÇóÒªÔÚlinuxÏÂÓÃjava µ÷ÓÃmysql¿Í»§¶ËÔ¶³ÌµÇ½mysql·þÎñÆ÷£¬´Ó¿Í»§¶Ë»úÆ÷µ¼Èëmysql½Å±¾£¬´Ómysql·þÎñÆ÷¶Ëµ¼³ö±íÖеÄÊý¾Ý¡£ÒÔÏÂÊÇÓõ½µÄÖ÷Òª·½·¨£º
Java ´úÂë
/**
* µ¼ÈëÊý¾Ý
* @param ½Å±¾µÄµØÖ·ºÍÃû³Æ
* @return ÊÇ·ñ³ ......
1.Listת»»³ÉΪÊý×é¡££¨ÕâÀïµÄListÊÇʵÌåÊÇArrayList)
µ÷ÓÃArrayListµÄtoArray·½·¨¡£
Àý£ºString[] arr = (String[])list.toArray(new String[size]);
2.Êý×éת»»³ÉΪList¡£
µ÷ÓÃArraysµÄasList·½·¨¡£
Àý£ºList stooges = Arrays.asList("Larry", "Moe", "Curly"); ......
Ò»¡¢Ê²Ã´ÊÇJavaÐéÄâ»ú
µ±Äã̸µ½JavaÐéÄâ»úʱ£¬Äã¿ÉÄÜÊÇÖ¸£º
1¡¢³éÏóµÄJavaÐéÄâ»ú¹æ·¶
2¡¢Ò»¸ö¾ßÌåµÄJavaÐéÄâ»úʵÏÖ
3¡¢Ò»¸öÔËÐеÄJavaÐéÄâ»úʵÀý
¶þ¡¢JavaÐéÄâ»úµÄÉúÃüÖÜÆÚ
Ò»¸öÔËÐÐ ......
JAVA³ÌÐòÔ±ÃæÊÔÖ®¿û»¨±¦µä
1¡¢ÃæÏò¶ÔÏóµÄÌØÕ÷ÓÐÄÄЩ·½Ãæ
1.³éÏ󣺳éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.¼Ì³Ð£º¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ ......
package org.bupt.test;
import java.util.ArrayList;
class MyResource {
ArrayList<Integer> arrList= new ArrayList<Integer>();
public MyResource(ArrayList<Integer> arrList) {
this.arrList = arrList;
&nbs ......