java JNI

来源:互联网 发布:丁红玉淘宝 编辑:程序博客网 时间:2024/05/24 05:04

      翻了翻资料什么是java native method?

简单地讲,一个Native Method就是一个Java 调用非Java 代码的接口。一个Native Method是这样一个Java的方法:该方法的实现由非Java 语言实现,比如C。这个特征并非Java 所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。
      "A Native Method is a Java method whose implementation is provided by non-Java code."
      在定义一个Native Method时,并不提供实现体(有些像定义一个Java interface),因为其实现体是由非Java语言在外面实现的。参考:

 

http://ghsea.javaeye.com/blog/72543

 

     native method应该是利用了java JNI。因为native method通过调用java.system.loadLibrary()实现加载DLL文件的。

   

    Java本地接口(Java Native Interface (JNI))允许运行在Java虚拟机(Java Virtual Machine (JVM))上的代码调用本地程序和类库,或者被它们调用,这些程序和类库可以是其它语言编写的,比如C、C++或者汇编语言。

    当一个程序无法完全使用Java编写时,开发者可以通过JNI来编写本地方法,比如标准Java类库并不支持的依赖于平台的特色或者程序库。JNI还可以用于修改现有的使用其它语言编写的程序,使它们可以通过Java编写的程序来访问。

    JNI是如何工作的以及本地类型是如何映射到Java的类型和类库的,参考:

 

http://www.pcstu.com/program/Java/jc/20070210/19659.html

 

http://www.cnblogs.com/aimd/archive/2006/08/18/480213.html

 

http://www.javaeye.com/topic/304594