私が 知っている から、JDK 8以降、PermGenはJavaの歴史の過去のページになります。すべてが素敵で陽気な...しかし、新しいメモリレイアウトはどのように見えるでしょうか?これは新しいプラットフォームのGCに影響しますか?
PermGenはMetaspaceに置き換えられます Oracle/Sun JDK8では非常に似ています。主な違いは、メタスペースは実行時に拡張できることです。
これは、permGenが存在する場合です
メタスペースが導入された後
確かに、Java 8.でGCに多くの改善があります。これを確認できます stackoverflow post
メタスペースでは、複数のマッピングされた仮想メモリスペースがメタデータに割り当てられ、割り当て(チャンク単位)はクラスローダーのタイプとその活性度に応じてクラスローダーごとに行われます。チャンクは空きチャンクリストに返され、空になると仮想メモリスペースも返されます。
GCの利点は