CMSPermGenSweepingEnabled vs CMSClassUnloadingEnabled

Я как-то задал этот вопрос раньше – что на самом деле делает флаг JVM CMSClassUnloadingEnabled? , но на этот раз это немного другое!

Если я запускаю виртуальную -XX:+CMSPermGenSweepingEnabled Java с -XX:+CMSPermGenSweepingEnabled флагом -XX:+CMSPermGenSweepingEnabled следующее сообщение:

Используйте CMSClassUnloadingEnabled вместо CMSPermGenSweepingEnabled в будущем

Флаг -XX:+CMSPermGenSweepingEnabled часто используется для смягчения ошибок PermGen OutOfMemory , однако я прочитал в другом месте, что люди обнаружили, что, следуя приведенным выше советам, они все еще имели эти ошибки, но, придерживаясь -XX:+CMSPermGenSweepingEnabled а также как -XX:+CMSClassUnloadingEnabled их VM осталась дольше между перезагрузками.

Делает -XX:+CMSClassUnloadingEnabled действительно supersede -XX:+CMSPermGenSweepingEnabled или есть ли еще какое-то преимущество в их использовании?

заранее спасибо

Rich ps: Я знаю, что основной причиной проблем с перминными генераторами по-прежнему обычно является утечка Classloader, это больше о сообщении, которое создается JVM, если мы используем вышеуказанные параметры.

Давайте будем гением компьютера.