6
在Java 6中,我們習慣使用下面的GC配置,以防止燙髮根OutOfMemoryException
後,我們的應用程序的幾個調動:類卸載
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
我們要搬到Java 7,並且想要使用新的G1 GC,它從我讀過的內容中將Java中的PermGen的類移動到本機內存中。
是否有一些標誌來啓用卸載未使用的類?
在Java 6中,我們習慣使用下面的GC配置,以防止燙髮根OutOfMemoryException
後,我們的應用程序的幾個調動:類卸載
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
我們要搬到Java 7,並且想要使用新的G1 GC,它從我讀過的內容中將Java中的PermGen的類移動到本機內存中。
是否有一些標誌來啓用卸載未使用的類?
G1在完整GC期間執行類卸載,因此您無需指定任何參數即可啓用該功能。
您可以通過使用-XX:+TraceClassUnloading
參數來查看自己。
此外,請從HotSpot GC郵件列表中查看此電子郵件主題:Bug in G1GC it performs Full GC when code cache is full resulting in overkill。他們相當廣泛地討論G1級的卸載問題。總之,如果您發現類卸載問題,則可以使用-noclassgc
,但通常在G1中卸載類沒有問題。