Java内存溢出问题

Java内存溢出是一个常见的问题,例如程序的运行结果如下图所示

  1. java.lang.OutOfMemoryError: Java heap space        
  2.         at java.util.Arrays.copyOf(Arrays.java:2882)        
  3.         at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)        
  4.         at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)        
  5.         at java.lang.StringBuffer.append(StringBuffer.java:224)        
  6.         at slcx.com.WebPage.<init>(WebPage.java:67)        
  7.         at slcx.stock.gegu.baidu.ExtBdGgHisRecInfo.执行百度个股历史抓取(ExtBdGgHisRecInfo.java:199)        
  8.         at slcx.stock.gegu.baidu.ExtBdGgHisRecInfo.main(ExtBdGgHisRecInfo.java:272)      
java.lang.OutOfMemoryError: Java heap space     
        at java.util.Arrays.copyOf(Arrays.java:2882)     
        at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)     
        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)     
        at java.lang.StringBuffer.append(StringBuffer.java:224)     
        at slcx.com.WebPage.<init>(WebPage.java:67)     
        at slcx.stock.gegu.baidu.ExtBdGgHisRecInfo.执行百度个股历史抓取(ExtBdGgHisRecInfo.java:199)     
        at slcx.stock.gegu.baidu.ExtBdGgHisRecInfo.main(ExtBdGgHisRecInfo.java:272)    
异常原因和解决方法: 

Java的堆内存溢出了,可能是由于你的某个方法BUG导致的,比如构造了一个List,一次放入的数据过多,或者一次读取某个很大的文件,而没有使用缓存

根本的解决方法是查找导致溢出的方法,并修正(可以减少放入内存的内容)

另外有一个治标的方法:在WEB容器启动时加上内存参数:

-Xms512m -Xmx512m
                      ————Java编程词典,程序员的好帮手。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值