устранение утечки памяти Java - PullRequest
0 голосов
/ 08 марта 2012

Я ищу утечки памяти в Java-программах.

У меня есть классы с именами ABCConfiguration и ABCConfigurationInfo classes.ABCConfigurationInfo - это класс, который имеет некоторые private static final String константы и содержит приватный TreeMap объект.ABCConfiguration - это класс конфигурации, который содержит объект класса ABCConfigurationInfo (private ABCConfigurationInfo fInfo;).

При многократном выполнении программы я обнаружил (используя MAT), что объекты ABCConfigurationInfo продолжают увеличиваться,У меня нет решения.

То есть я изменил

private ABCConfigurationInfo fInfo 

на

private static ABCConfigurationInfo fInfo. 

После этого я проверил объекты ABCConfigurationInfo после многократного выполнения.Это становится стабильным, и один объект создает.Это реальное исправление?Не могли бы вы дать мне совет.

Я знаю, что с таким большим количеством информации трудно сказать.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 08 марта 2012

В вашей исходной версии есть один ABCConfigurationInfo на каждый ABCConfiguration.В вашей версии static для всего приложения есть один ABCConfigurationInfo;он используется всеми объектами ABCConfiguration.Мы не знаем, уместно это или нет - только вы.Однако это большое изменение, поэтому вам обязательно нужно знать, что вы делаете.

0 голосов
/ 08 марта 2012

Если вы можете позволить себе иметь один и тот же экземпляр fInfo на всех ваших объектах ABCConfiguration, тогда это допустимое исправление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...