浅谈Java和JNI

2021-04-25   637 次阅读


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.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

No PAINS No GAINS.