-2

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

ArrayList container = new ArrayList();

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

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

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

埃利

4

1 回答 1

6

我确实得到了

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

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

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

于 2012-04-11T20:09:50.073 回答