JNI 核对表

在使用 JNI 时必须记住以下几点。

下表显示 JNI 核对表:

切记 违反的后果
不得将局部引用保存在全局变量中 采用随机时间间隔时会发生随机崩溃(这取决于您在覆盖的对象空间中选取的内容)。
确保创建的每个全局引用都有一个删除该全局引用的路径。 内存泄漏。 如果全局引用存储溢出,那么可能会抛出本机异常。 这难于隔离。
始终检查 JNI 函数返回的异常(或返回码)。 始终在检测到延迟异常时立即处理该异常。 发生无法解释的异常或无法定义的行为。 可能导致 JVM 崩溃。
确保始终释放数组和字符串元素。 泄漏小部分内存。 可能会使堆分段并导致其他问题首次出现。
确保正确使用 isCopy 和方式标志。 请参阅 复制和锁定 发生内存泄漏和/或堆分段。
在本机代码中更新 Java™ 对象时,请确保访问同步。 发生内存损坏。