我正在使用 JNI 来加速我的程序。就像这样:
JNIEXPORT void JNICALL SOME_FUNCTION(JNIEnv * jenv, jclass, jlong thiz)
{
...
}
这里java程序将RAM中对象的地址发送到c,并启动c二进制文件。
虽然我知道直接执行 native 非常快,但我仍然对 JNI 和 java 包装器之间的区别感到困惑。因为据我了解,java 包装器也在努力将 RAM 地址发送到 C 二进制文件中。
是什么内在差异使它们在效率上有所不同?
以下是一个可以帮助您回答的插图。
“java wrapper”是指 JavaCV 之类的东西