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

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

Сообщение Anonymous »

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

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

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

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

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

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

Спасибо
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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