色婷五一,精品亚洲欧美一区二区三区日产 ,精选国产AV剧情,无码丰满少妇2在线观看

18600329666

咨詢技術(shù)專家

掃一掃
與技術(shù)專家在線溝通

Menu
JAVA在linux服務(wù)器上調(diào)用c++代碼
    JAVA語(yǔ)言是一種解釋性語(yǔ)言,.class是生成的能給被jvm識(shí)別的偽機(jī)器語(yǔ)言,解釋過的Java要比C的執(zhí)行速度慢上約20倍,大型web項(xiàng)目開發(fā)以及手機(jī)應(yīng)用開發(fā)中都會(huì)遇到,對(duì)于運(yùn)行費(fèi)時(shí)或者涉及到底層驅(qū)動(dòng)的功能使用C或C++編寫,以擴(kuò)充java語(yǔ)言本身的功能和提升程序執(zhí)行速度
   一、linux系統(tǒng)jni使用的必備條件
  • 系統(tǒng)安裝C++庫(kù)
  • 系統(tǒng)安裝GC++庫(kù)
  二、 JNI的編寫與調(diào)用過程 
  1. 生成ConfigTool.java文件:按照項(xiàng)目包在linux上創(chuàng)建對(duì)應(yīng)文件夾,在/home/jni下創(chuàng)建:com/vungu/tools/jni并將ConfigTool.java(包含native方法和加載so的靜態(tài)塊)(其中的dll要改為so,windows問dll,linux為so)
  2. 生成ConfigTool.class文件:在/home/jni  目錄下運(yùn)行命令         #javac com/vungu/tools/jni/ConfigTool.java       生成ConfigTool.class文件
  3. 生成頭文件:任然在該目錄下面(/home/jni )           #javah -classpath . -jni com.vungu.tools.jni.ConfigTool         生成com_vungu_tools_jni_ConfigTool.h頭文件
  4. 復(fù)制生成文件:在/opt下新建sys文件(隨意創(chuàng)建),并將com_vungu_tools_jni_ConfigTool.h  復(fù)制到/opt/sys下,將jdk安裝目錄下的/usr/local/jdk1.8.0_65/include/jni.h   復(fù)制到/opt/sys下,將jdk安裝目錄下的/usr/local/jdk1.8.0_65/include/linux/jni_md.h     復(fù)制到/opt/sys下
  5. 創(chuàng)建C++程序:在/opt/sys/下創(chuàng)建JinVungu.cpp,將com_vungu_tools_jni_ConfigTool.h中的函數(shù)名復(fù)制到JinVungu.cpp中并實(shí)現(xiàn)具體代碼(編寫c++程序)
  6. 編譯JNI程序:在/opt/sys/目錄中運(yùn)行下列名#g++ -fpic -shared   JinVungu.cpp   -o JinVungu.so -I./ -I /usr/local/jdk1.8.0_65/include/ -I /usr/local/jdk1.8.0_65/include/linux/
  7. 打包成jar供java調(diào)取:在window上打包vun-tools項(xiàng)目 為jar包(壓縮文件)做如下操作,用/home/jni/com/vungu/tools/jni/ConfigTool.class替換掉原來(lái)的ConfigTool.class,用/opt/sys/JinVungu.so  替換掉原來(lái)的JinVungu.dll,jar用壓縮軟件直接打開替換不可解壓
三、JNI的zuoy作用于優(yōu)缺點(diǎn)
      JNI 它允許Java代碼和其他語(yǔ)言寫的代碼進(jìn)行交互。大大提高程序的性能,但是卻破壞了Java的可移植性,也對(duì)Java的安全帶來(lái)了一定的隱患。所以程序開發(fā)中須謹(jǐn)慎使用