Java - 为什么没有OutOfMemoryError?

时间:2012-04-11 20:02:30

标签: java out-of-memory

我正在尝试使用以下代码生成OutOfMemoryError

ArrayList container = new ArrayList();

while (true){
    Integer i = new Integer(1);
    container.add(i);
}

应用程序崩溃但没有打印或转储!这是正常的吗?我应该将一些选项传递给java命令吗?如何强制jvm打印出这条消息?

我这样做是因为我有一个在嵌入式系统上运行的应用程序(使用cvm)崩溃而没有任何痕迹。我怀疑内存泄漏,所以我想编写一个导致内存泄漏的代码,看看jvm输出的是什么类型的消息。这就是我编写代码的原因,当我运行它时,它崩溃但没有给出跟踪,这就是我发布这个问题的原因

埃利

1 个答案:

答案 0 :(得分:6)

我确实得到了

  

线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间

ArrayList container = new ArrayList();
while (true) {
    Integer i = new Integer(1);
    container.add(i);
}

如果我在Integer构造函数中放入一些东西。否则,无法编译。