Java中的内存不足异常:

每当您用Java创建对象时,它都会存储在JVM的堆区中。如果JVM无法为新创建的对象分配内存,则抛出名为OutOfMemoryError的异常。

当我们长时间不关闭对象,或者试图一次处理大量数据时,通常会发生这种情况。

OutOfMemoryError中有3种类型的错误-

  • Java堆空间。

  • 超出了GC开销限制。

  • 彼尔姆根空间。

例子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[]) {
      //实例化ArrayList对象
      ArrayList<String> list = new ArrayList<String>();
      //填充ArrayList-
      list.add("apples");
      list.add("mangoes");
      list.add("oranges");
      //获取ArrayList的Iterator对象
      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)