0

一旦抛出此异常,是否是导致此异常的对象内存不足?它会立即发生吗?

换句话说,如果我将对象添加到列表中,在某些时候这将不再发生,并且会引发 OOM 错误。到时候,名单本身有什么事情吗?

java.lang.OutOfMemoryError: Java heap space
4

3 回答 3

1

当无法创建新对象时抛出此错误。当前对象将继续存在。

但是,由于此类错误的性质,当前代码将停止执​​行,并且很可能当前对象将很快被垃圾收集。它仅取决于代码的结构以及引用是否仍保留在您的对象中。

于 2012-07-06T02:23:00.987 回答
0

文档

当 Java 虚拟机因为内存不足而无法分配对象时抛出,并且垃圾收集器无法提供更多内存。

于 2012-07-06T02:23:01.483 回答
0

根据http://docs.oracle.com/javase/6/docs/api/, OutOfMemoryError 是:

当 Java 虚拟机因为内存不足而无法分配对象时抛出,并且垃圾收集器无法提供更多内存。

因此,一旦 JVM 发现它没有足够的堆空间来为您尝试创建的新对象分配内存,就会发生这种情况。所以对象永远不会被创建,因为你没有足够的内存。

于 2012-07-06T02:24:22.900 回答