我正面临java.lang.OutOfMemoryError: Java heap space
。一些大量的数据转换成toString()
。我有自己的toString
代码实现。你可以看到下面的代码:OutOfMemoryError:将一些批量数据转换为toString时的Java堆空间()
String dataStr = (new LargeData(objData)).toString();
public String toString()
{
try
{
if (localBase64Binary != null)
{
ByteArrayOutputStream out = new ByteArrayOutputStream();
localBase64Binary.writeTo(out); return out.toString("utf-8");
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
return null;
}
我正在使用最大堆空间-Xms128m -Xmx256m
。如果我增加堆空间,我只能推迟一些日子内存不足。在这种情况下有什么办法来优化代码吗?
任何人都可以引导我或帮助我解决这个问题吗?
请检查下面的公共字符串的ToString我的代码的toString(){ 尝试{ 如果(!localBase64Binary = NULL){ ByteArrayOutputStream OUT =新ByteArrayOutputStream(); localBase64Binary.writeTo(out); return out.toString(“utf-8”); (IOException ex){ ex.printStackTrace(); } return null; } – user1575538 2012-08-04 03:43:31
请修改您的帖子以包含代码。 – Antimony 2012-08-04 03:45:44
@user请仅发布有问题的代码,并使用编辑器窗口中存在的{}标签格式化代码。 – Mahesh 2012-08-04 03:49:03