相关疑难解决方法(0)

捕获java.lang.OutOfMemoryError?

文档java.lang.Error说:

Error是Throwable的子类,表示合理的应用程序不应该尝试捕获的严重问题

但是作为java.lang.Error子类java.lang.Throwable,我可以捕获这种类型的Throwable.

我明白为什么抓住这种例外不是一个好主意.据我所知,如果我们决定捕获它,catch处理程序不应该自己分配任何内存.否则OutOfMemoryError将再次抛出.

所以,我的问题是:

  1. 捕获时是否有任何真实的单词场景java.lang.OutOfMemoryError可能是一个好主意?
  2. 如果我们决定捕获java.lang.OutOfMemoryError,我们怎么能确定catch处理程序本身不分配任何内存(任何工具或最佳实践)?

java try-catch out-of-memory

97
推荐指数
8
解决办法
8万
查看次数

是否有可能在java中捕获内存不足?

我正在开发一个需要大量内存的程序,我想在发生内存不足异常时捕获.我听说这是不可能做到的,但是如果在这方面有任何发展,我很好奇.

java exception out-of-memory

52
推荐指数
7
解决办法
8万
查看次数

垃圾收集器是否保证在Out of Memory Error之前运行?

如果堆已满,JVM会抛出一个 OutOfMemoryError.但是它确保在抛出这样的异常之前总是发生(完全)垃圾收集吗?

这意味着当抛出异常时,内存只有强引用对象(或GC Roots可达)才能满.

编辑:假设Sun JVM - HotSpot正在讨论中.

java memory garbage-collection jvm out-of-memory

18
推荐指数
3
解决办法
5853
查看次数