我在尝试创建BufferedImage时遇到问题。我仅在租用的服务器上有此问题,而在开发环境(计算机)上则没有。
我有一张上传图片的表格。图像上传后,我将其保存到文件系统。我之所以立即保存它,是因为按照你们中的某些人所说,我可以从服务器内存中“释放”资源,因为我是在文件系统上使用映像,而不是使用对象Part
来调整映像大小,控件等。 。
当我尝试从大于2-3 mb的图像创建BufferedImage时,出现该错误。
在执行此行时,我的应用程序停止工作,并且出现该错误
BufferedImage immagineTemporaneaBufferizzata = ImageIO.read(new File...);
我使用一种在Internet上找到的方法来检查服务器上的内存。这是我在遇到错误之前得到的:
已用内存:26可用内存:30总内存:57最大内存:57
我应该增加堆内存吗?我尝试同时在catalina.bat和catalina.sh上执行此操作,但是我没有看到自己的更改Max Memory
。可能我做错了。在Linux上增加堆大小的正确方法是什么?
坦率地说,对于Java应用程序处理2-3 MB的图像,最大内存为57 MB相当低。是的,如果可以的话,您绝对应该增加内存。
澄清一下:图像大小2-3 MB。这2-3 MB是什么?压缩图像的大小?如果是2-3 MB的JPG,则可能是一张大图片(取决于质量)。例如,它甚至可能是3200x2000像素的图像,即640万像素,如果使用3字节RGB像素模型,则它在内存中的二进制数据约为20 MB。
关于增加tomcat的内存,请参阅以下问题:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句