是否可以将JavaVM *和JNIEnv *保存为全局变量并在其他地方使用它?

时间:2012-04-10 03:27:37

标签: java java-native-interface jdk1.6 jrockit

JavaVM * javaVM = NULL; JNIEnv * jniEnv = NULL;

createJavaVM)(& javaVM,(void * )& jniEnv,& javaVMInitArgs)

其中javaVM *和jniEnv *是全局变量

1 个答案:

答案 0 :(得分:4)

  

将JavaVM *保存为全局变量并在其他地方使用它可以吗?

  

将JNIEnv *保存为全局变量并将其用于其他地方是否可以?

没有。这表示特定JNI方法调用的上下文。它取决于当前线程,当前方法的参数,当前方法创建的本地引用,各种各样的东西,并且一旦JNI方法返回它就变为无效。