.NET имеет что-то вроде permgen Java? - PullRequest
2 голосов
/ 16 ноября 2011

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

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

(немного вопроса для сравнения) В .NET я не видел ничего подобного. .NET имеет свою версию permgen?

(если вы не знаете, что такое permgen Значение PermGen Space )

Ответы [ 2 ]

3 голосов
/ 16 ноября 2011

В CLR такого нет. Просто обычная куча. Сборщик мусора (GC) является поколением, с тремя поколениями. Один для молодых предметов, один для долгоживущих и один для очень долгоживущих. Существует также куча объектов lage (LOH). GC обрабатывает LOH немного по-другому, чтобы повысить эффективность. См. Обнаружена куча больших объектов

1 голос
/ 16 ноября 2011

Нет, CLR (C # «просто» язык CLR) не имеет постоянного поколения, см. Основы сборки мусора .

Кстати, будущие версии JVM -в настоящее время ожидается самое позднее для Java 8 - также не будет иметь permgen (см. Oracle обсуждает новые возможности Java 7 & 8 для видео ) (в основном, в результате "объединения" "классической" виртуальной машины Sun HotSpotкоторый имеет Permgen и JRockit JVM).

...