当前位置: 首页 > 面试题库 >

如何使OutOfMemoryError发生在Linux JVM 64位上

柳联
2023-03-14
问题内容

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

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

该代码适用于Win7 64bit和jdk6u21 64bit。但是,当我在Jentk 5
64bit上使用jdk6u21运行此程序时,即使我将数组的大小增大了,也不会引发OutOfMemoryError。

任何想法?


问题答案:

如果只想消耗所有内存,请执行以下操作:

    try {
        List<Object> tempList = new ArrayList<Object>();
        while (true) {
            tempList.add(new byte[128 * 1024 * 1024 * 1024]);
        }
    } catch (OutOfMemoryError OME) {
       // OK, Garbage Collector will have run now...
    }


 类似资料:
  • 那里!我是Cloud-DataFlow的新手。 我使用DataflowPipelineRunner读取csv文件并将结果输出到BigQuery。当csv文件的大小很小(只有20条记录,小于1MB)时,它工作得很好,但当文件的大小变大(超过1000万条记录,约616.42 MB)时,它出现了OOM错误。 以下是错误消息: oder.decodeOutOfMemoryError:Java堆空间oder

  • 我有一个巨大的csv文件(500MB)和400k条记录 栏目文本由许多信息和句子组成。我想获取此列(“文本”),将所有非字母符号替换为“”,并将其按从“文本”列中最常见的单词到最不常见的单词(限制为1000)的相反顺序排序。这就是它的样子。我正在使用CsvReader库 运行后,我出现内存不足错误,GC超过了该错误。如何做到最好?我不能增加堆大小,我只需要使用默认设置

  • 我试图从AsyncTask线程中的ObjectMapper获取一个JSON格式的字符串,并且我一直在获取OutOfMemoryError并且在清单文件中已经添加了行 在DoInBackground中执行的AsyncTask方法: Fiscalizacao类: Stacktrace到im存在的问题:

  • 问题内容: 我试图和一个图像。在某些设备上,它可以完美运行,而在其他设备上,则不能。我正在上传到服务器并从服务器获取。我找到了各种解决方案,但仍然无法解决我的问题。这是我的代码: 编码方式: 解码: ImageBase64.java: 错误堆栈: 在某些设备中我也遇到了此错误: 我已经尝试过的解决方案是: 将图像加载到位图对象时出现内存不足问题 如何将图像转换为Base64字符串? 内存不足错误I

  • 我正在使用RecyclerView创建一个应用程序。当我尝试在移动设备上滚动它时,我得到以下错误。 下面是RecyclerView的布局: RecyclerView的类: 编辑代码:

  • 问题内容: 我只包含所有已安装的应用程序及其图标, 但是如果安装的应用程序过多,我在执行时就会 遇到 对于每一行(此行写在我的文章中) 没问题,到目前为止,我明白了为什么我遇到了这个错误(太多图标加载,过少的VM堆) ,但我看了一下机器人的源代码 * 中设置的活动 ,我从来没有在任何这些运行 OOM错误 而使用设置, 但奇怪的是他们 完全按照相同的方式 来做 * 你可以在这里在他们的源代码看到: