我有一个多线程程序,它处理大量的字符串操作,执行几小时后,内存超出并导致“java.lang.OutOfMemoryError:Java 堆空间”问题。而且我已经把我的整个内存都用到了java程序上,即16 GB。
对于测试,我创建了以下示例程序以了解问题及其执行相同的问题,在重新初始化字符串生成器数千次后,它消耗超过 5-10MB 的内存,任何人都可以帮助克服这个问题.
StringBuilder strObj = new StringBuilder();
for(int i=0; i<50000; i++) {
strObj = null;
strObj = new StringBuilder();
}