有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java jni入门问题


我开始研究JNI,据我所知,如果加载的dll出现问题,jvm可能会当场终止
也就是说,流程无法得到保护,例如捕获异常时
因此,如果我的理解是正确的,我的问题是,在使用jni时,是否有一种标准的方法/模式来解决这种情况
或者换一种说法,使用jni的流程是以避免这些问题的方式设计的吗? 或者这些问题预计不会发生

谢谢


共 (1) 个答案

  1. # 1 楼答案

    这些原则与任何多线程C应用程序没有区别:

    1. 始终彻底检查所有输入
    2. 始终释放分配的临时内存
    3. 确保你的功能是可重入的
    4. 不要依赖未定义的行为

    Java虚拟机不为您的本机代码提供额外的保护,如果它失败或泄漏,您的虚拟机将失败或泄漏