小编sna*_*pal的帖子

添加For循环可防止OutOfMemoryError

当我删除for循环时,我得到一个OutOfMemoryError.当我使用for循环时,我没有得到错误.任何人都可以帮助我理解这种行为吗?

public class JavaMemoryPuzzlePolite {
    private final int dataSize = (int) (Runtime.getRuntime().maxMemory() * 0.6);

    public void f() {
        {
            System.out.println(dataSize);
            byte[] data = new byte[dataSize];
        }
        for (int i = 0; i < 1; i++) {
            System.out.println("Please be so kind and release memory");
        }
        System.out.println(dataSize);
        byte[] data2 = new byte[dataSize];
    }

    public static void main(String[] args) {
        JavaMemoryPuzzlePolite jmp = new JavaMemoryPuzzlePolite();
        jmp.f();
    }
}
Run Code Online (Sandbox Code Playgroud)

java jvm

27
推荐指数
1
解决办法
649
查看次数

标签 统计

java ×1

jvm ×1