当前位置:  开发笔记 > 编程语言 > 正文

如何在Linux JVM 64位上发生OutOfMemoryError

如何解决《如何在LinuxJVM64位上发生OutOfMemoryError》经验,为你挑选了1个好方法。

在我的单元测试中,我故意尝试引发OutOfMemoryError异常.我使用如下的简单语句:

byte[] block = new byte[128 * 1024 * 1024 * 1024];

该代码适用于Win7 64位,带有jdk6u21 64位.但是当我使用jdk6u21在Centos 5 64bit上运行时,没有抛出OutOfMemoryError,即使我使数组的大小更大.

任何的想法?



1> Matthew Flas..:

Linux并不总是会立即为您分配所需的所有内存,因为许多真正的应用程序需要的内容超出了他们的需求.这被称为overcommit(这也意味着它有时会猜错,而可怕的OOM杀手罢工).

对于你的unittest,我只会手动抛出OutOfMemoryError.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有