原文はこちら。
This article was written by Nicolai Parlog (Java Developer Advocate at Oracle).
https://inside.java/2026/07/20/quality-heads-up/
OpenJDK Quality Groupは、リリースの全体的な品質向上の手段としてOpenJDKビルドを使ってのFOSSプロジェクトのテストを推進しています。
Quality Outreach
https://wiki.openjdk.java.net/display/quality/Quality+Outreach
このHeads upは、関係するプロジェクトに送られる定期的なコミュニケーションの一部です。
Java 26 Is Now Available | JDK 27 Heads-Ups – quality-discuss – openjdk.org
このプログラムの詳細と参加方法については、上記wikiをご覧ください。
コマンドラインでガベージコレクタが指定されていない場合、HotSpot JVMは環境に応じてG1 GCまたはSerial GCのいずれかを選択していました。本来はG1を優先していましたが、リソースが限られた環境においては、これまでSerialがスループットとメモリ使用量の面で優位性を持っていたため、CPUが1つ (1 core) しか検出されない場合や、物理メモリが1,792MB未満と検出された場合には、JVMはSerialを選択していました。
最近の改良により、こうした環境においてもG1はSerial GCと互角の性能を発揮するようになりました。一般的に、G1はSerial GCと同程度のネイティブメモリオーバーヘッドを持ち、スループットはわずかに低く、最大レイテンシはSerial GCよりも低くなります。JVMの挙動を把握しやすくするため、JDK 27以降、すべての環境でG1がデフォルトのガベージコレクタとして選択されるようになりました。
この変更により:
- Serial GCはJDKから削除されるわけではなく、そのパフォーマンス特性が望ましい状況では引き続き利用可能です
- コマンドラインで特定のガベージコレクタを選択するアプリケーションには影響しません
- 複数のCPUと1792 MBを超えるメモリを持つ環境で実行されるアプリケーションには影響しません
つまり、この変更による影響を受けるのは、制約のある環境で実行され、かつガベージコレクタを指定していないアプリケーションのみです。そのような場合は、さまざまなGCでアプリケーションのベンチマークを行い、そのニーズに最も適したGCを選択することをお勧めします。それが不可能な場合は、G1を新しいデフォルトとして受け入れるか、Serialを設定してGC関連のパフォーマンス特性に変化が生じないよう保証することができます。
詳細については、JEP 523をご確認ください。
JEP 523: Make G1 the Default Garbage Collector in All Environments