`

imageIO.read invoke 错误

阅读更多

imageIO.read() 超大图片上传出现的问题(异常:InvocationTargetException)。

 

这个问题是内存太低导致

设置内存前内存情况:

JVM MAX MEMORY: 64M

JVM IS USING MEMORY:64M

 

 

设置内存后内存情况:

JVM MAX MEMORY: 508M

JVM IS USING MEMORY:508M

 

另:

eclipse 结合tomcat 内存设置和tomcat 独立启动内存设置

1:

Eclipse->Window->Preferences->Server->Runtime Environments->选中Apache Tomcat v5.0->点击Edit按钮->在弹出对话框里点击JRE后面的Installed JREs按钮->在弹出对话框中选中tomcat使用的那个JRE->点击Edit按钮

 

->在弹出对话框中,找到Default VM Arguments,并在输入框中输入:-Xms512M -Xmx512M

 

 

2:

在tomcat/bin 下找到 catalina.bat 文件打开,再找到  set JAVA_OPTS = -Xms512M -Xmx512M

 

 

 

关于堆内存分配:

JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最 大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时, JVM会减少堆直到

 

-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics