<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java學習

    java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經(jīng)搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

     

    Java入門--認識理解Java中native方法

      Java不是完美的,Java的不足除了體現(xiàn)在運行速度上要比傳統(tǒng)的C++慢許多之外,Java無法直接訪問到操作系統(tǒng)底層(如系統(tǒng)硬件等),為此Java使用native方法來擴展Java程序的功能。

    可以將native方法比作Java程序同C程序的接口,其實現(xiàn)步驟:

    1、在Java中聲明native()方法,然后編譯;

    2、用javah產(chǎn)生一個.h文件;

    3、寫一個.cpp文件實現(xiàn)native導出方法,其中需要包含第二步產(chǎn)生的.h文件(注意其中又包含了JDK帶的jni.h文件);

    4、將第三步的.cpp文件編譯成動態(tài)鏈接庫文件;

    5、在Java中用System.loadLibrary()方法加載第四步產(chǎn)生的動態(tài)鏈接庫文件,這個native()方法就可以在Java中被訪問了。

    JAVA本地方法適用的情況

    1.為了使用底層的主機平臺的某個特性,而這個特性不能通過JAVA API訪問

    2.為了訪問一個老的系統(tǒng)或者使用一個已有的庫,而這個系統(tǒng)或這個庫不是用JAVA編寫的

    3.為了加快程序的性能,而將一段時間敏感的代碼作為本地方法實現(xiàn)。

    首先寫好JAVA文件

    /*

    * Created on 2005-12-19 Author shaoqi

    */

    package com.hode.hodeframework.modelupdate;

    public class CheckFile

    {

    public native void displayHelloWorld();

    static

    {

    System.loadLibrary("test");

    }

    public static void main(String[] args) {

    new CheckFile().displayHelloWorld();

    }

    }

    然后根據(jù)寫好的文件編譯成CLASS文件

    然后在classes或bin之類的class根目錄下執(zhí)行javah -jni com.hode.hodeframework.modelupdate.CheckFile,

    就會在根目錄下得到一個com_hode_hodeframework_modelupdate_CheckFile.h的文件

    然后根據(jù)頭文件的內容編寫com_hode_hodeframework_modelupdate_CheckFile.c文件

    #include "CheckFile.h"

    #include

    #include

    JNIEXPORT void JNICALL Java_com_hode_hodeframework_modelupdate_CheckFile_displayHelloWorld(JNIEnv *env, jobject obj)

    {

    printf("Hello world!"n");

    return;

    }

    之后編譯生成DLL文件如“test.dll”,名稱與System.loadLibrary("test")中的名稱一致

    vc的編譯方法:cl -I%java_home%"include -I%java_home%"include"win32 -LD com_hode_hodeframework_modelupdate_CheckFile.c -Fetest.dll

    最后在運行時加參數(shù)-Djava.library.path=[dll存放的路徑]

    posted on 2009-10-14 16:58 找個美女做老婆 閱讀(606) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     

    導航

    統(tǒng)計

    公告

    本blog已經(jīng)搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 最近2019中文字幕免费看最新 | 免费看一区二区三区四区| 成人免费无遮挡无码黄漫视频| 亚洲视频一区在线观看| 91大神在线免费观看| 亚洲最大的视频网站| 性色av免费观看| 亚洲av色香蕉一区二区三区| 国产精品久久香蕉免费播放| 男女啪啪免费体验区| 国产亚洲精品激情都市| 久久免费视频精品| 亚洲国产精品乱码在线观看97| 国产精品成人免费一区二区| 最新亚洲人成网站在线观看| 精品国产亚洲一区二区在线观看 | 日本免费的一级v一片| 美女露100%胸无遮挡免费观看| 亚洲精品国产精品乱码不卞| 成人久久免费网站| 亚洲大片免费观看| 免费在线观看亚洲| 成全高清在线观看免费| 国产成人亚洲精品| 亚洲精品第一国产综合精品99| 成人精品一区二区三区不卡免费看| 亚洲精品无码久久久久久久| 午夜毛片不卡高清免费| 波霸在线精品视频免费观看| 久久夜色精品国产噜噜噜亚洲AV | 国产免费久久久久久无码| 亚洲美女aⅴ久久久91| 国产福利免费观看| 国产成人精品无码免费看| 一本天堂ⅴ无码亚洲道久久| 久久久久亚洲精品无码网址 | 女人18毛片特级一级免费视频 | 91香蕉国产线在线观看免费| 亚洲av片在线观看| 91亚洲国产在人线播放午夜 | 国产精品99久久免费|