加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – jni启动问题

发布时间:2020-12-14 19:13:41 所属栏目:Java 来源:网络整理
导读:我开始研究JNI,据我所知,如果加载的dll出现问题,jvm可以在现场终止. 即该过程不能受到保护,例如喜欢捕捉异常时 因此,如果我的理解是正确的,那么我的问题是在使用jni时是否存在针对这种情况的标准方法/模式. 或者以不同的方式说明,使用jni设计的流程是为了避

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

谢谢.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读