我一直在使用docker来运行图像以及一些选项,例如:
docker run --net host --oom-kill-disable -d -p <port>:<port> image
Run Code Online (Sandbox Code Playgroud)
如何在马拉松中设置--oom-kill-disable之类的值?
我对使用 BufferedImage 对象的唯一担心是,对于非常大的图像(例如 60000x32000),它将导致 JVM 在有限的 JVM 堆空间上因 OOM 而关闭。然而,ImageIO.read方法的JavaDocs说了一些关于“控制缓存”的内容。
在这种情况下,什么是控制缓存?
这是否意味着 ImageIO.read 使用磁盘上的图像缓存来处理大图像?
参考下面的JavaDocs和ImageIO.read方法:
/**
* Returns a <code>BufferedImage</code> as the result of decoding
* a supplied <code>File</code> with an <code>ImageReader</code>
* chosen automatically from among those currently registered.
* The <code>File</code> is wrapped in an
* <code>ImageInputStream</code>. If no registered
* <code>ImageReader</code> claims to be able to read the
* resulting stream, <code>null</code> is returned.
*
* <p> The current cache settings from <code>getUseCache</code>and
* <code>getCacheDirectory</code> will be …Run Code Online (Sandbox Code Playgroud)