JNI的确切需求是什么?

时间:2012-04-09 12:15:40

标签: java-native-interface

当我们在JAVA中开发整个应用程序时,为什么我们需要JNI来访问本机。

此致 Sujanian

3 个答案:

答案 0 :(得分:0)

当您无法用Java开发整个应用程序时,需要JNI。例如,当存在仅在C中可用的传统库或者需要与系统驱动程序通信时,可能会发生这种情况。如果你可以用纯Java编写整个应用程序,那么你当然不需要JNI。

答案 1 :(得分:0)

当您可以使用纯Java开发整个应用程序时,您不需要JNI。这也是首选方式。

然而:

  • 您可能想要调用现有的本机代码库。有可能用Java重写它们,但这可能是很多工作(在端口中以及稍后维护两个版本)

  • 您可能需要编写一些低级代码,以便以JVM不允许的方式直接与硬件/操作系统通信

答案 2 :(得分:0)

  

为什么我们需要JNI才能在开发整体时访问本机   在JAVA中的应用。

如果你断言你总是可以用Java开发整个应用程序,那么你就错了。你不能总是这样做,JNI可以弥补这一差距。

如果另一方面你的意思是'如果'而不是'何时',那么答案就是你在这些情况下不需要JNI。