java.lang.OutOfMemoryError,帮帮我,谢谢
我写的这段代码为什么会报这样的错,是哪里错了呀
public String customerSPValue(String[] temp) {
StringBuffer str_temp = new StringBuffer();
for (int i = 1; i < temp.length; i++) {
if (i> 1){
i=i-1;
str_temp.append( "custUpdate.setCustomerString( "+i+ ", cust.get "+temp[i]+ "());\n ");
}
}
return str_temp.toString();
}
------解决方案--------------------------------------------------------
for 循环陷入死循环,导致字符串变得非常大以至于虚拟机的内存不够用了。
------解决方案--------------------------------------------------------
每做一次循环 i++一次, i=i-1一次,等于没作用,死循环就把内存耗尽了
------解决方案--------------------------------------------------------
死循环
------解决方案--------------------------------------------------------
如上
------解决方案--------------------------------------------------------
死循环,去掉i=i-1;
在i=i-1;处设个断点就知道i的变化情况了。
我写的这段代码为什么会报这样的错,是哪里错了呀
public String customerSPValue(String[] temp) {
StringBuffer str_temp = new StringBuffer();
for (int i = 1; i < temp.length; i++) {
if (i> 1){
i=i-1;
str_temp.append( "custUpdate.setCustomerString( "+i+ ", cust.get "+temp[i]+ "());\n ");
}
}
return str_temp.toString();
}
------解决方案--------------------------------------------------------
for 循环陷入死循环,导致字符串变得非常大以至于虚拟机的内存不够用了。
------解决方案--------------------------------------------------------
每做一次循环 i++一次, i=i-1一次,等于没作用,死循环就把内存耗尽了
------解决方案--------------------------------------------------------
死循环
------解决方案--------------------------------------------------------
如上
------解决方案--------------------------------------------------------
死循环,去掉i=i-1;
在i=i-1;处设个断点就知道i的变化情况了。
本文分析了一段Java代码中出现OutofMemoryError的原因,并提供了详细的解决方案,包括避免死循环、正确使用循环变量等。通过实例演示,帮助开发者理解内存管理的重要性并避免常见错误。

被折叠的 条评论
为什么被折叠?



