<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)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99久久免费中文字幕精品| 光棍天堂免费手机观看在线观看| 毛片免费观看的视频在线| 91久久亚洲国产成人精品性色| 99在线观看视频免费| 亚洲图片一区二区| 成人浮力影院免费看| 中文字幕 亚洲 有码 在线| 嫖丰满老熟妇AAAA片免费看| 亚洲中文久久精品无码1| 在线成人a毛片免费播放| 亚洲AV无码一区二区三区鸳鸯影院| 国产无遮挡吃胸膜奶免费看视频| 免费国产草莓视频在线观看黄| 亚洲高清无码专区视频| 99在线热播精品免费99热| 亚洲av无码成人黄网站在线观看 | 中文字幕在线观看亚洲视频| 毛片免费在线观看网站| 国产精品国产亚洲区艳妇糸列短篇| 免费a级黄色毛片| a视频免费在线观看| 亚洲国产日产无码精品| 青苹果乐园免费高清在线| 香港经典a毛片免费观看看| 国产精品久久久亚洲| 男女超爽刺激视频免费播放 | 久久精品亚洲AV久久久无码| 国产a级特黄的片子视频免费| 国产福利电影一区二区三区,免费久久久久久久精 | 亚洲kkk4444在线观看| 亚洲男人在线无码视频| 成全视频在线观看免费| 亚洲香蕉在线观看| 亚洲性日韩精品国产一区二区| 午夜视频在线免费观看| 国产尤物在线视精品在亚洲| 亚洲AV本道一区二区三区四区| 在线观看人成视频免费| baoyu777永久免费视频| 亚洲国产成人久久精品大牛影视 |