java - Java中的内存问题

标签 java out-of-memory heap-memory

我有一个多线程程序,它处理大量的字符串操作,执行几个小时后内存超出并导致“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();
}

最佳答案

它在什么意义上消耗了5-10MB的内存?你在这里分配了这么多。 Java 在需要内存之前不会费心回收它。这不会导致 OutOfMemoryError,而不是这种类型的代码。

那么,为什么不实际显示导致 OOME 的代码类型呢?

关于java - Java中的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11529536/

相关文章:

java - 编译运行Java时如何设置TextMate使用的CLASSPATH

javascript - 如何用log4j或winston写入大量日志?记不清

hadoop - 当mapred.job.shuffle.input.buffer.percent=0.70时pig join在reducer中出现OutOfMemoryError

java - 如何在方法名称旁边放置另一个Java文件(或类)的名称?

java - 是否有一个忽略 .equals 的 java Set 集合

jakarta-ee - Java EE 对象监控工具

java - 如何增加 tomcat 应用程序的 Java 堆空间

c - C 中的动态 3D 矩阵创建

java - 有没有办法处理Java堆空间异常

java - 处理超过 100k 条数据记录