我知道关于java.lang.OutOfMemoryError: Java heap space
的问题有很多。
比如问题1
但是这些链接都不能正确回答我的问题。
我们正在生成电子表格格式的报告,其中大量数据来自数据库。我们将堆内存大小从2 GB增加到4 GB,但并没有用。
可能是由于数据库列中存在一些额外的空间,所以我使用trim()
方法修剪了所有的getters
和setters
,但这也没有用。
例如:
String s = "Hai ";
s.trim();
如果有人知道如何从Java编码方面解决此问题,而不增加堆空间的大小。因为客户告诉我们,他们将不会再增加堆空间。
调用该方法时出现异常
private CrossTabResult mergeAllListsSameNdc(CrossTabResult crt, CrossTabResult res) {
crt.setFormularyTier(crt.getFormularyTier()==null ? "":((crt.getFormularyTier().contains(crt.getListId())? crt.getFormularyTier(): crt.getListId()+crt.getFormularyTier()) +"~"+res.getListId()+res.getFormularyTier()));
crt.setFormularyTierDesc(crt.getFormularyTierDesc()==null ? "":((crt.getFormularyTierDesc().contains(crt.getListId())? crt.getFormularyTierDesc(): crt.getListId()+crt.getFormularyTierDesc()) +"~"+res.getListId()+res.getFormularyTierDesc()));}
由于保密原因,我不能分享更多的代码。如果您在查看上面的代码后有任何替代解决方案,请告知我。我们正在基于相同的id
合并两个String
。