Утечка памяти JAXBContext.newInstanceJAVA

Программисты JAVA общаются здесь
Anonymous
Утечка памяти JAXBContext.newInstance

Сообщение Anonymous »

После недавнего развертывания в рамках системного тестирования один из наших сервлетов пострадал гораздо сильнее, чем обычно, и мы заметили, что объем памяти начал увеличиваться, и веб-логика в конечном итоге умирала.
Мой стажер, чем я очень гордился, обнаружил источник утечки памяти.

Каждый раз, когда приходит запрос, вызывается эта строка:

Код: Выделить всё

JAXBContext jc = JAXBContext.newInstance(“ruby.oracle_servlet.schemas”);
По какой-то причине объект никогда не собирает мусор.
Как только мы сделали его статическим и переместили туда, где мы его инициализировали, утечка памяти исчезла.

Другой из наших разработчиков поместил именно эту строку в цикл while в автономном Java-приложении и также увидел, как память увеличивается и увеличивается.

Есть ли у кого-нибудь идеи, почему этот объект не получает мусор собрали?

Спасибо

Вернуться в «JAVA»