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的变化情况了。
参考地址:http://www.verydemo.com/demo_c89_i95848.html