我有一个需要分析大文件的软件。限制输入或提供无限内存都不是选项,所以我必须接受飞行中的 OOME。由于 OOME 只会杀死线程,因此我的软件在某种糟糕的状态下运行。
从外部看,一切都很好,因为进程正在运行,但从内部来看它已经失去了功能。
我想断开它的电源。但是我该如何做呢?
捕获 OOME 并不能保证下一行代码将被执行。例如 System.exit(9)。因此 JVM 必须注意到 OOME 并销毁自身。
是否有一些 VM 选项可以实现这一点?
从外部看,一切都很好,因为进程正在运行,但从内部来看它已经失去了功能。
我想断开它的电源。但是我该如何做呢?
捕获 OOME 并不能保证下一行代码将被执行。例如 System.exit(9)。因此 JVM 必须注意到 OOME 并销毁自身。
是否有一些 VM 选项可以实现这一点?