native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如c++)实现的文件中。Java语言本身不能对操作系统底层进行访问和操作,但是可以通过JNI接口调用其它语言来实现对底层的访问。
JNI是Java本地接口(Java Native Interface),是一个本地编程接口,它是Java软件开发工具箱(JDK)的一部分。JNI允许Java代码使用以其他语言编写的代码和代码库。Invocation API(JNI的一部分)可以用来将Java虚拟机(JVM)嵌入到本机应用程序中,从而允许程序员从本机代码内部调用Java代码。
JNI的书写步骤如下:
1.编写带有naive生命的方法的Java类
2.使用javac命令编译编写的Java类
3.使用java -jni ***来生成后缀名.h的头文件
4.使用其他语言实现本地方法
5.将本地方法编写的文件生成动态链接库