java内存泄漏修复
我正在寻找java程序中的一些内存泄漏。java内存泄漏修复
我有一个类,名为ABCConfiguration
和ABCConfigurationInfo
类。 ABCConfigurationInfo
是一类有一些private static final String
常数并保留一个私人TreeMap
对象。 ABCConfiguration
是一个配置类,它保持ABCConfigurationInfo
类(private ABCConfigurationInfo fInfo;
)的对象。
当多次执行程序时,我发现(使用MAT)ABCConfigurationInfo
的对象不断增加。我没有修复。
这是我已经改变了
private ABCConfigurationInfo fInfo
到
private static ABCConfigurationInfo fInfo.
在此之后,我已执行多次检查后的ABCConfigurationInfo
的对象。它变得稳定,一个对象正在创造。这是一个真正的修复吗?你能不能请教我。
我知道,有了这些信息很难说。
在此先感谢
如果您可以承担在您的所有ABCConfiguration对象上具有相同的fInfo实例,那么它是一个有效的修复程序。
感谢您的信息。 – user867662 2012-03-08 15:41:00
在原来的版本中,有一个ABCConfigurationInfo
每一个ABCConfiguration
。在您的static
版本中,整个应用程序只有一个ABCConfigurationInfo
;它由所有ABCConfiguration
对象共享。我们不知道这是否合适 - 只有你这样做。不过,这是一个很大的改变,所以你当然需要知道你在做什么。
其修复只有在静态适合您的方案:) 尝试添加代码,以便我们可以帮助您找到问题 – 2012-03-08 15:11:52
我很惊讶你的配置是如此复杂,它占用的内存量显著。这是否真的在你的程序中有很大的不同? – 2012-03-08 15:16:22