java.lang.OutOfMemoryError 的解決方法

执行输出xml文本操作时出现java.lang.OutOfMemoryError 问题,提供两种解决方案。。。。

第一种
如果用的是eclipse作为开发环境并在eclipse下对程序进行发布的直接修改快捷方式修改为:
D:\eclipse\eclipse.exe -vmargs -Xmx512M
OK 了。 :evil:


第二种
 [u]java.lang.OutOfMemoryError [/u]的解決方法
看到這個訊息就是要加大記憶體空間啦,java 程式有 -xms 跟 -xmx 參數可以用,Tomcat 到了 5.0.21 之後有畫面可以設定。

就是最下面那三行,一般只要設定 Initial memory pool (初始值) 跟 Maximum memory pool (最大值) 就可以了。

但是解決Out Of Memory Error 問題之前,一定要先了解狀況發生的原因。

一般都是發生在開啟大型檔案或跟資料庫一次拿了太多的資料,造成 Out Of Memory Error 的狀況,這時就大概要計算一下資料量的最大值是多少,並且設定所需最小及最大的記憶體空間值。

另一種狀況平時比較難查覺。就是 Servlet 或 JSP 的 Container 突然同時上線人數爆增,也相對造成記憶體需求不足,所以也必須要計算出程式所需的資料量*同時上線人數,來設定記憶體的需求量。(如果要有最佳化的值,最好是配合 gc 做調校)

有一種說法是聽來的,實際上是不是如此還有待確認。

當 CPU 速度愈快,記憶體的最小需求量也就必需愈大。原因是 CPU 愈快,短時間內能處理的資料量也就愈大,所以在 java 做 GC 之前,可能已經記憶體已經消耗完了,所以 CPU 的速度也是記憶體初始需求量的重要因素之一。

目前這三項應該足以應付絕大部份 Out Of Memory Error 的狀況,其它造成 Out Of Memory Error 的狀況,等有遇到再來補充。
[img][/img][img][/img][img][/img][img][/img][img][/img][img][/img]

第一种实现了,所以第二种是转贴的。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值