OracleのJavaチームBilly Korando氏は現地時間10月9日、公式サイトInside Javaにおいて、先ごろリリースされたJDK 21にはZ Garbage Collector(ZGC)に重要なアップデートが追加されていると新たなガベージコレクション機能を紹介している。 JEP333で提案された低レイテンシーガベージコレクターZGCを改善するGenerational ZGC(JEP 439)は、若い世代と古い世代にオブジェクトの管理を分けることでメモリ領域の効率的な運用を目指すものだが、"Big ZGC Update in Java 21"と題した動画とともに新たな機能を解説している。

  • (公式サイトより)

新たに生成されたオブジェクトはヤングリージョンに配置され、頻繁なGCサイクルのスキャンに耐えたものは昇格し、オールドリージョンに配置されスキャン頻度が低くなり、このガベージコレクターの設計によりCPUリソースをより効率的に扱えると述べている。JDK21ではこの複数世代のガベージコレクターをサポート、2つの引数を渡すことで利用できるようになる。

$ java -XX:+UseZGC -XX:+ZGenerational ...