3
在JNI规范的多个版本,它说:JNI是否真的需要接口指针提供JNI函数表
JNI接口的组织就像一个C++虚函数表或一个COM接口。使用接口表而不是硬连接函数条目的好处是JNI名称空间与本机代码分离。虚拟机可以轻松提供多个版本的JNI函数表。例如,VM可以支持两个JNI函数表:
之一执行彻底的非法参数检查,并且适于调试;另一个执行JNI规范所需的最少量的检查,因此更高效。
这是不是真的需要?毕竟,接口指针是指向指针的指针。它会导致更多的业绩衰退。
与跨越JVM/JNI边界和执行JNI函数调用的开销相比,额外的间接是完全微不足道。 – EJP