CMSPermGenSweepingEnabled vs CMSClassUnloadingEnabled

Ho già fatto questa domanda prima – Cosa fa effettivamente JVM flag CMSClassUnloadingEnabled? , ma questa volta è leggermente diverso!

Se avvio una Java VM con il flag -XX:+CMSPermGenSweepingEnabled , viene stampato il seguente messaggio:

Si prega di utilizzare CMSClassUnloadingEnabled al posto di CMSPermGenSweepingEnabled in futuro

Il flag -XX:+CMSPermGenSweepingEnabled viene spesso utilizzato per mitigare gli errori PermGen OutOfMemory , tuttavia ho letto altrove che le persone hanno scoperto che seguendo il consiglio precedente hanno ancora questi errori, ma attenendosi anche a -XX:+CMSPermGenSweepingEnabled come -XX:+CMSClassUnloadingEnabled la VM è rimasta più a lungo tra i riavvii.

Does -XX:+CMSClassUnloadingEnabled sostituisce davvero -XX:+CMSPermGenSweepingEnabled o c’è ancora qualche vantaggio nell’averli entrambi?

Grazie in anticipo

Rich ps: so che la causa principale dei problemi con perm gen è di solito trapelata da Classloader, si tratta più del messaggio che la JVM produce se usiamo le opzioni sopra elencate.