java - 处理 JNI 崩溃

标签 java jvm crash java-native-interface handle

我有一个包含遗留 C 代码的 dll,我通过 JNI 调用这个 dll,但有时 C 代码崩溃并导致 JVM 终止。有没有办法避免 JVM 崩溃?我可以处理 JNI 故障并让 JVM 存活吗? :)

最佳答案

正如 Timo 所说,您别无选择,只能使 JNI 代码健壮。如果您不能这样做(例如,如果您没有源代码),那么也许您可以寻求进程间解决方案。将 JNI 代码放在一个单独的服务器进程中,进行 RMI 或 HTTP 调用。如果它崩溃了,请重新启动“服务器”,但主 JVM 仍然存在。显然会有性能开销和复杂性增加,但也许您可以负担得起?

关于java - 处理 JNI 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1952277/

相关文章:

java - 我尝试在网页上查看小程序时收到 "class not found"错误

java - Tarjan 的算法错误地检测周期

java - 使用 Caliper 对正则表达式进行微基准测试

php - 用于 java 的 apache solr 等重型数据库的最佳 PHP 搜索技术

objective-c - 应用程序在Dealloc上崩溃

java - 在 Java 中,cast(即(ClassName))的实例和类型如何作用于代理对象?

java - 在 JavaFx 中使用 JTS 拓扑

java - 在方法调用期间修改参数时是否有任何保证?

Android 应用程序在更改 View 期间崩溃

objective-c - 在日历上添加条目时调试我的iPad App崩溃