JNI浅析

   JNI:是java本地接口,是jdk的一部分,通过jni可以在JAVA程序中使用非JAVA语言开发的类或应用程序。

    实现jni步骤:
    1、在java类中声明native方法(表明这个方法使用java以外的语言实现 ),使用System.loadLibrary("hello"),它是在静态初始化块中定义的,系统用来装载hello共享库,这就是我们在后面生成的hello.dll(如果在其他的操作系统可能是其他的形式,比如hello.so) ,并编译。
       
public native void displayHelloWorld();

        
System.loadLibrary("hello")

    2、用javah生成.h文件
    3、用其他语言如/cc++实现native方法,并生成动态连接库
    4、将c/c++动态连接库放到工作目录,用java命令运行

    注意:一般java应用程序通过jre、jvm,最后调用底层函数,但是使用jni,越过jre、jvm直接调用非java语言编写的底层函数,有安全隐患,需要在java级别,即执行权限尚未穿过jvm前,完成安全的限制。


你可能感兴趣的:(java,jvm,jdk,c,jni)