首页 > 编程知识 正文

jvm在执行java类的大致过程,java获取接口所有实现类

时间:2023-05-05 13:36:14 阅读:57931 作者:3434

可以使用JNI_GetCreatedJavaVMs。

jsize nVMs;

jni_getcreatedjavavms(null,0,nVMs ); //1.justgettherequiredarraylength

javavm * * buffer=new javavm * [ nvms ];

jni_getcreatedjavavms(buffer、nVMs、nVMs ); //2.get the数据

此代码是“安全”版本,询问缓冲区的大小,然后再次调用以检索数据。 但是,由于主要的windowsJVM(hotspot )进程不支持多个JVM,因此可能只需要一个元素来分配缓冲区。 由于JNI_GetCreatedJavaVMs是调用API的一部分,因此JVI将

I’mnotwritinganativelibrarytobeconsumedbyjava

在库中创建JVM时,必须加载jvm.dll,因此需要的一切。 因为没有写库是怎么调用的,所以我真的帮不了你。 如果库正在创建另一个JVM,或者从JVM加载的本机库中使用,并且由于某种原因没有将JavaVM *传递给你,请尝试执行以下操作:

#包含

#包含

//.

typedef jint (JNI呼叫* getcreatedjavavms ) ) JavaVM**,jsize,jsize*;

getcreatedjavavmsjni _ getcreatedjavavms;

//.

JNI _ getcreatedjavavms=(getcreatedjavavms ) getprocaddress(getmodulehandle (

text(JVM.dll )、) JNI_GetCreatedJavaVMs );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。