我正在尝试使用JNI从我的java程序中调用C API。有人可以告诉我,对C API的调用是否会在内部分叉一个新进程?...我需要这个因为我的并发事务会非常庞大,所以如果新进程被分叉,那么每个事务都会有这么多新进程。
答案 0 :(得分:3)
使用JNI的优点是调用程序和被调用程序在同一进程(作业)中运行,而其他方法启动新进程(作业)。这使得JNI在启动时调用更快,资源更少。但是,由于Java应用程序在技术独立机器接口(TIMI)中运行,并且用户本机方法需要运行用户地址空间,因此最初需要一些开销来创建使用16字节地址指针而不是8字节的用户环境。在TIMI下面使用的指针。它只是意味着您使用JNI的原因应该不仅仅是基于性能。