不同JNI调用的相同参数是否具有相同的值?

时间:2010-10-11 06:45:39

标签: java interface java-native-interface native

例如,SAME对象有两种不同的JNI方法


class JavaObj{
   public native void methodA();
   public native void methodB();
}

这些方法的JNI标题可以是


JNIEXPORT void JNICALL Java_JavaObj_methodA(JNIEnv * pEnv, jobject javaobj);
JNIEXPORT void JNICALL Java_JavaObj_methodB(JNIEnv * pEnv, jobject javaobj);

因此可以安全地假设pEnv和javaobj的值在这两个单独的JNI调用中是相同的吗?

1 个答案:

答案 0 :(得分:1)

当然不是。 JNIEnv *可以在JNI调用之间的任何时间更改,并且您可以拥有类的多个实例。