今天工作时我在我们的一个应用程序中遇到了这个问题。 场景是:我们通过点击它有一个加载按钮,它将加载数据库中缺少的记录。但问题是,通过单击刷新按钮重新加载相同的记录时,它会给出OutOfMemoryError。任何人都可以简要解释一下可能的原因是什么,因为在第一次尝试时它会加载所有记录,但为什么我们在刷新它时会遇到异常。
如果有任何可用于研究这种情况的好资源也会有所帮助。 提前谢谢......
答案 0 :(得分:0)
唯一的原因是你不断创建新对象而没有足够的自由,或者你创建了太多的线程。
您可以使用Java VisualVM's profiler进行一些内存分析。这允许您获得概述,哪些对象在内存中,以及哪个其他对象/线程引用它们。
Java VisualVM应该是Sun JDK的一部分。
另见:
答案 1 :(得分:-2)