小编典典

是否有可能在Java中捕获内存不足异常?

java

我正在开发一个需要大量内存的程序,并且我想在内存不足异常发生时捕获。我听说这是不可能的,但对此是否有所发展感到好奇。


阅读 329

收藏
2020-03-16

共1个答案

小编典典

这也不例外。这是一个错误:java.lang.OutOfMemoryError

当它从Throwable下降时,你可以捕获它:

try {
    // create lots of objects here and stash them somewhere
} catch (OutOfMemoryError E) {
    // release some (all) of the above objects
}

但是,除非你要进行一些相当具体的工作(例如,在特定代码段内分配大量工作),否则你可能将无法捕捉到它,因为你将不知道它将从何处抛出。

2020-03-16