Java 中的内存溢出异常:\n
每当你在 Java 中创建一个对象,它就被存储在 JVM 的堆区域中。如果 JVM 无法为新创建的对象分配内存,就会抛出一个名为 OutOfMemoryError 的异常。
这通常发生在我们长时间不关闭对象,或尝试一次性操作大量数据时。
OutOfMemoryError 有 3 种类型的错误 −
- Java 堆空间。
- GC 开销限制已超过。
- Permgen 空间。
示例 1
public class SpaceErrorExample { public static void main(String args[]) throws Exception { Float[] array = new Float[10000 * 100000]; } }
输出
运行时异常
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at sample.SpaceErrorExample.main(SpaceErrorExample.java:7)
示例 2
import java.util.ArrayList; import java.util.ListIterator; public class OutOfMemoryExample{ public static void main(String args[]) { //Instantiating an ArrayList object ArrayList<String> list = new ArrayList<String>(); //populating the ArrayList list.add("apples"); list.add("mangoes"); list.add("oranges"); //Getting the Iterator object of the ArrayList ListIterator<String> it = list.listIterator(); while(it.hasNext()) { it.add(""); } } }
输出
运行时异常
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at sample.SpaceErrorExample.main(SpaceErrorExample.java:7)
广告