2010-04-06 4 views
1

В Sun JVM классы, загружаемые загрузчиком классов, помещаются в пространство перменто и никогда не будут gc'd. (Если класс загрузчика не выходит за рамки) Я понимаю, что JRockit ставит эти же данные в кучу. Эти данные подлежат сборке мусора?Сборник мусора Sun Permgen & JRockit

Спасибо.

ответ

2

Проблема не имеет ничего общего с , где классы распределяются. Проблема в том, что загрузчики классов всегда содержат ссылки на свои классы, а это означает, что классы не могут быть собраны в мусор, пока и до тех пор, пока их загрузчик классов не получит сбор мусора.

Эта проблема более очевидна в HotSpot, потому что память PermGen скудна и дорогая.

0

Еще одним важным моментом является то, что PermGen часто истощается в Sun, в результате чего другие JVM могут выделять в другом ограниченном пространстве.

+0

Да, мне нравится, как JRockit обрабатывает его намного лучше, чем Солнце. – Striker

+0

Некоторые утверждают, что IBM тоже делает это. Оборотная сторона этого заключается в том, что иногда вы можете много добавить в текст класса и нелегко обнаружить утечки или сохраненный текст. Sun позволяет вам, по крайней мере, немного облегчить информацию, содержащуюся в ней, и упреждающую настройку. – Xailor

 Смежные вопросы

  • Нет связанных вопросов^_^