我需要第二个JVM实例,我的JVMTI代理可以使用该JVM实例来执行某些任务,而不会干扰正在运行该代理的VM的内部JVM状态。
直到现在,我始终启动一个单独的Java进程,并使用TCP / IP与之通信,但我想知道是否有任何技巧可以在同一进程中具有两个VM实例。
JNI_CreateJavaVM
不支持它;返回-5,根据jni.h为:
#define JNI_EEXIST (-5) /* VM already created */
虽然我可以想像出很多不支持此功能的原因(信号处理程序,单例等),但我想知道是否有任何方法可以在同一进程中并行运行第二个JVM?