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)

更新于:06-Sep-2019

957 次浏览

开启 职业生涯

完成课程以获得认证

开始
广告