java – jni启动问题

前端之家收集整理的这篇文章主要介绍了java – jni启动问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我开始研究JNI,据我所知,如果加载的dll出现问题,jvm可以在现场终止.
即该过程不能受到保护,例如喜欢捕捉异常时
因此,如果我的理解是正确的,那么我的问题是在使用jni时是否存在针对这种情况的标准方法/模式.
或者以不同的方式说明,使用jni设计的流程是为了避免这些问题吗?
或者预计不会出现这样的问题?

谢谢.

最佳答案
是的,JVM将终止,这是JNI代码真正难以调试的原因之一.如果您正在使用C代码,则可以使用异常,然后将它们映射到Java异常,这至少可以为您提供某种程度的安全性,但对内存访问不良等问题没有帮助.

从架构的角度来看,我建议尽可能地将代码与JNI分离.创建一个完全可以从C/C++测试的类/过程结构,让JNI代码只进行所有转换.如果JVM然后崩溃你至少知道你必须在哪里看.

猜你在找的Java相关文章