Сборка мусора Sun Permgen и JRockit - PullRequest
1 голос
/ 06 апреля 2010

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

Спасибо.

Ответы [ 2 ]

2 голосов
/ 06 апреля 2010

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

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

0 голосов
/ 24 апреля 2010

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

...