Javaで意図的にOutOfMemoryErrorを発生させる方法

Javaで意図的にOutOfMemoryErrorを発生させる方法

強制的にOOMEを発生させます。ヒープが不足します。

package jp.co.confrage;

import java.util.ArrayList;

public class Sample {
  public static void main(String[] args) {
    new ArrayList(Integer.MAX_VALUE); // OOME
  }
}

以下もOOMEを発生させます。VMの制限オーバーです。

package jp.co.confrage;

import java.util.ArrayList;
import java.util.List;

public class Sample {
  public static void main(String[] args) {
    final List<byte[]> list = new ArrayList<>();

    while (true) {
      final byte[] b = new byte[1048576];
      list.add(b);
    }
  }
}

コメント

タイトルとURLをコピーしました