JNI是Java用来与操作系统底层交互的一种技术,学过Java的都知道Java是需要运行在Java虚拟机上的,这个虚拟机等于在操作系统之上包裹了一层Java的壳,对于不同的操作系统,这个壳是一样的,通过这种方法来确保Java的字节码可以在所有的机器上运行。但是这个壳也有不足之处,就是一些操作系统特殊的操作(例如访问特殊的硬件资源,调用其他语言编写的动态库等)也被屏蔽了。如果需要在Java中访问这些资源,就必须要使用JNI技术。
JNI全称是Java Native Interface。其基本操作过程就是写一个可供Java虚拟机调用的动态链接库(DLL或so),通过这个DLL再去调用操作系统可以访问的资源。
Java有了JNI后,就可以说无所不能了。(1)可以调用其他语言开发的各种库;(2)可以访问底层硬件驱动;(3)可以用C等语言编写需要高速运行的算法。
所以,学习Java,必须要学JNI。
Q.E.D.
Comments | 0 条评论