相关疑难解决方法(0)

连接到已经运行的JVM

有没有办法连接到已经运行的JVM?

例如,在JNI中,您可以使用JNI_CreateJavaVM创建VM并运行jar并检查其所有类.

但是,如果jar已经运行,我找不到附加到其JVM并与其类通信或获取其env指针的方法.

另一个问题是,如果jar加载我的本机库(.dll)并且我想在.dll中创建一个JVM,我不能..也不能在没有jar调用我的函数的情况下附加jar的当前JVM.

Java端的示例:

class Foo
{
    static {loadLibrary("Foo")}
}
Run Code Online (Sandbox Code Playgroud)

在C++方面:

void Foo()
{
    //CreateJVM
    //Attach to the current process..
    //Call function from the jar that loaded me.
}
Run Code Online (Sandbox Code Playgroud)

如果没有先调用jar,就无法做到这一点Foo.

有任何想法吗?有没有办法获取当前的JVM或附加到它或外部的jvm实例?

c++ java java-native-interface jvm

7
推荐指数
1
解决办法
5084
查看次数

标签 统计

c++ ×1

java ×1

java-native-interface ×1

jvm ×1