java - 使用 Java Native Interface 的缺点

标签 java java-native-interface

我无法解决使用 JNI 的这两个缺点。我想更多地了解他们:

  • 难以调试运行时错误 native 代码

  • JNI 代码中的错误会导致整个 JVM 崩溃,并且不提供任何优雅恢复机制

最佳答案

调试困难

  • 您需要一个 C/C++ 调试器来调试 native 代码。不可能轻松地从 Java 单步执行到 C/C++ 代码。 (虽然可以同时调试两者。我已经用 Eclipse 和 CDT 插件完成了,但这很痛苦)

JNI 错误

  • native 库中的错误 C/C++ 代码可能/将会导致 JVM 无法恢复的核心转储/段错误,从而导致整个应用崩溃。

关于java - 使用 Java Native Interface 的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1393937/

相关文章:

java - 在 java 中使用 Bouncy CaSTLe 从 CSR 文件获取公钥

java - Robolectric @config 指定 list 路径时,抛出空指针异常

Android NDK 无法使用两个 gradle 插件调试 native 代码

java - 无法加载 JNI 共享库 (JDK)

java - Scala 中的泛型类型

java - 如何在 Java 中将 MultiPartfile 提供给 Reader?

java - 是否可以一起使用 Java、SWIG 和 Rust?

Android Facebook SDK 不显示登录屏幕

java - JNA和JNR有什么区别

java - Android中使用SQLite获取RowID