我无法解决使用 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/