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

海会圣贤 2010-03-17 10:41:07
在使用StringBuffer时,

当字符串过长时,

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

大家有没有解决方法?
...全文
702 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
海会圣贤 2010-03-17
  • 打赏
  • 举报
回复
找到方法了,

第一就是设置程序运行的内存大小。
第二就是改算法,超过多长就处理一下。
BearKin 2010-03-17
  • 打赏
  • 举报
回复
换String看看
hoojo 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 coolwzjcool 的回复:]
在myeclipse中启动Tomcat时,
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m
[/Quote]
对的要控制jvm的内存大小,我以前也遇到过的。内存一般修改环境,很难在程序中进行控制。
coolwzjcool 2010-03-17
  • 打赏
  • 举报
回复
在myeclipse中启动Tomcat时,
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m
b11ght 2010-03-17
  • 打赏
  • 举报
回复
再一个,你是不是可以设置StringBuffer初始值大点,好像小的话会调用System.arraycopy(),来回拷贝数据,是不是这个也浪费堆内存,个人理解哈,等待楼下的精彩回答。
b11ght 2010-03-17
  • 打赏
  • 举报
回复
内存溢出了,把堆内存设置的大点。
顺便问你一下,你要装多少字符串那,都把内存撑爆了。
cangbai217 2010-03-17
  • 打赏
  • 举报
回复
内存溢出了

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧