Java创建内存不足实例

时间:2012-04-05 19:33:33

标签: java weblogic out-of-memory

我需要为了测试目的而故意创建一个内存不足的实例。有谁知道最快的方法吗?

3 个答案:

答案 0 :(得分:14)

取决于你想做什么,但这应该足够了:

double[] d = new double[Integer.MAX_VALUE];

答案 1 :(得分:1)

import java.util.ArrayList;

class TestOome {

    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        byte[] buffer = new byte[2^20];
        ArrayList<String> list = new ArrayList<String>();
        try {
            while (true) {
                list.add("Lollygobblenlissbomb");
            }
        } catch (Throwable t) {
            long end = System.currentTimeMillis();
            buffer = null;
            System.err.println(t + " in " + (end-start) + " millis.");
        }
    }
}

本地输出

java.lang.OutOfMemoryError: Java heap space in 1152 millis.
Press any key to continue . . .

答案 2 :(得分:0)

运行一个递归函数,调用自身时没有base / anchor case。每个递归调用都会创建一个堆栈。所以这应该很快。