读取大小为 330MB 的图像时发生“java.lang.OutOfMemoryError:Java 堆空间”[重复]
Posted
技术标签:
【中文标题】读取大小为 330MB 的图像时发生“java.lang.OutOfMemoryError:Java 堆空间”[重复]【英文标题】:"java.lang.OutOfMemoryError: Java heap space" occurred while reading image of size 330MB [duplicate] 【发布时间】:2016-04-05 10:52:37 【问题描述】:我正在使用以下代码读取大小为 330MB 的图像文件
BufferedImage img=ImageIO.read("test.png");
如何解决?
【问题讨论】:
谷歌如何使用-Xmx 【参考方案1】:您需要使用 -Xmx 来增加堆的值。来自Javadoc
指定内存分配池的最大大小(以字节为单位)。 此值必须是大于 2 MB 的 1024 的倍数。追加 字母 k 或 K 表示千字节,或 m 或 M 表示兆字节。 默认值是在运行时根据系统配置选择的。
【讨论】:
完成了......但仍然面临同样的异常以上是关于读取大小为 330MB 的图像时发生“java.lang.OutOfMemoryError:Java 堆空间”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
当我读取大小为 17 mb 的 100 万个 url 文件时,我的程序占用 163 mb
当文件大小大于 2mb 时,Imagick 无法调整 GIF 图像的大小
为啥 Imagemagick 或 GraphicsMagick 在调整为较小尺寸时会增加我的 PNG 图像的 MB 大小?