JNI可以这样与本地程序进行交互:
1、你可以使用JNI来实现“本地方法”([native methods](https://baike.baidu.com/item/native
methods)),并在JAVA程序中调用它们。
2、JNI支持一个“调用接口”(invocation interface),它允许你把一个JVM嵌入到本地程序中。本
地程序可以链接一个实现了JVM的本地库,然后使用“调用接口”执行JAVA语言编写的软件模块。
例如,一个用C语言写的浏览器可以在一个嵌入式JVM上面执行从网上下载下来的applets。
一旦使用JNI,JAVA程序就丧失了JAVA平台的两个优点:
1、程序不再跨平台。要想跨平台,必须在不同的系统环境下重新编译本地语言部分。
2、程序不再是绝对安全的,本地代码的不当使用可能导致整个程序崩溃。一个通用规则是,你应
该让本地方法集中在少数几个类当中。这样就降低了JAVA和C之间的耦合性。