jni创建jvm失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jni创建jvm失败相关的知识,希望对你有一定的参考价值。

jni创建jvm失败针对这情况,通常只需要通过 -Xmx 参数调高 JVM 堆内存空间即可。如果仍然没有解决,可以参考以下情况做进一步处理:

1、如果是超大对象,可以检查其合理性,比如是否一次性查询了数据库全部结果,而没有做结果数限制。

2、如果是业务峰值压力,可以考虑添加机器资源,或者做限流降级。

3、如果是内存泄漏,需要找到持有的对象,修改代码设计,比如关闭没有释放的连接。
参考技术A jni创建jvm失败:
可以通过换JDK,设置PATH,CLASSPATH等环境变量的办法,无法解决。后来无意中,进入到jre的lib/i386/client下面执行,成功运行,经分析应该是运行时加载libjvm.so不成功,通过网上查资料,找到一个叫LD_LIBRARY_PATH的目录,此为系统在运行时加载动态库文件时引用的目录,则把此目录指定到jre的lib/i386/client目录下面,则一切OK;
结论:通过JNI启动JVM时,无法加载libjvm.so,如未在程序里面做特殊处理,需要指定系统的引导路径。
参考技术B 应该是操作系统内存不足、Java虚拟机无法正常启动等。您可以使用Java虚拟机调试器(jdb)查看具体的错误信息,以帮助排除问题。另外,您还可以检查JNI初始化方法是否正确,并确保JAVA_HOME环境变量和CLASSPATH设置正确。

无法加载 JNI 共享库“D:eclipse\jre\bin\server\jvm.dll”[重复]

【中文标题】无法加载 JNI 共享库“D:eclipse\\jre\\bin\\server\\jvm.dll”[重复]【英文标题】:Failed to load JNI shared library "D:eclipse\jre\bin\server\jvm.dll" [duplicate]无法加载 JNI 共享库“D:eclipse\jre\bin\server\jvm.dll”[重复] 【发布时间】:2013-09-11 09:30:17 【问题描述】:

我的笔记本电脑包含 windows 8、64 位操作系统,我在 c:programFiles 中安装了 jdk7,它也有 jre7,我想运行 eclipse,我收到错误,因为无法加载 JNI 共享库“D:eclipse\ jre\bin\server\jvm.dll”。

请帮帮我...

【问题讨论】:

【参考方案1】:

在 eclipse.ini 中添加调试标志 -D C:....\java.exe 可以解决问题

【讨论】:

以上是关于jni创建jvm失败的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 报告“加载 JNI 共享库失败”[重复]

类路径问题 - getJNIEnv失败

Eclipse - 无法加载 JNI 共享库

jni调用崩溃的情况下如何在linux上查找失败的原因?

Coinitialize ex 在 JNI 程序存根中的 WMI 调用中失败

解决JNI在Windows环境下因长路径导致编译失败问题