在使用StringBuffer时,当字符串过长时,出现java.lang.OutOfMemoryError: Java heap space

时间:2021-03-12 22:40:55
在使用StringBuffer时,

当字符串过长时,

出现java.lang.OutOfMemoryError: Java heap space异常。

大家有没有解决方法?

7 个解决方案

#1


内存溢出了

#2


内存溢出了,把堆内存设置的大点。
顺便问你一下,你要装多少字符串那,都把内存撑爆了。

#3


再一个,你是不是可以设置StringBuffer初始值大点,好像小的话会调用System.arraycopy(),来回拷贝数据,是不是这个也浪费堆内存,个人理解哈,等待楼下的精彩回答。

#4


在myeclipse中启动Tomcat时,
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

#5


引用 4 楼 coolwzjcool 的回复:
在myeclipse中启动Tomcat时,
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

对的要控制jvm的内存大小,我以前也遇到过的。内存一般修改环境,很难在程序中进行控制。

#6


换String看看 

#7


找到方法了,

第一就是设置程序运行的内存大小。
第二就是改算法,超过多长就处理一下。

#1


内存溢出了

#2


内存溢出了,把堆内存设置的大点。
顺便问你一下,你要装多少字符串那,都把内存撑爆了。

#3


再一个,你是不是可以设置StringBuffer初始值大点,好像小的话会调用System.arraycopy(),来回拷贝数据,是不是这个也浪费堆内存,个人理解哈,等待楼下的精彩回答。

#4


在myeclipse中启动Tomcat时,
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

#5


引用 4 楼 coolwzjcool 的回复:
在myeclipse中启动Tomcat时,
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

对的要控制jvm的内存大小,我以前也遇到过的。内存一般修改环境,很难在程序中进行控制。

#6


换String看看 

#7


找到方法了,

第一就是设置程序运行的内存大小。
第二就是改算法,超过多长就处理一下。