java被编译成字节码后由JVM解释执行,java要调用C语言写的程序,那么就必须通过JVM调用,java告诉JVM我要调用本地操作系统的那个程序段(如dll)并要求返回一个结果。通过JVM调用本地程序的技术就是JNI,java Native interface(本地接口技术)。
java是通过虚拟机实现跨平台技术的,因此要调用本地操作系统相关的代码,就必须采用JNI技术。而这就导致了JAVA与操作系统的一种应用绑定,失去了跨平台的特色。当然我们在应用中可能需要使用本地代码技术更加容易实现某个方法,采用这种方式有时也是必须的。
其实不管你是用C还是其他语言编译的代码,只要符合调用规则,就可以实现java对本地程序的调用。
com组件
JNI