目次 目次 タイトルおよび著作権情報 はじめに 対象読者 ドキュメントのアクセシビリティについて 関連ドキュメント 表記規則 1 ガベージ・コレクションのチューニングの概要 ガベージ・コレクタとは ガベージ・コレクタの選択が問題になる理由 ドキュメントでサポートされているオペレーティング・システム 2 エルゴノミクス ガベージ・コレクタ、ヒープおよびランタイム・コンパイラのデフォルト選択 動作ベースのチューニング 最大一時停止時間目標 スループット目標 フットプリント チューニング方法 3 ガベージ・コレクタの実装 世代別ガベージ・コレクション 世代 パフォーマンスに関する考慮事項 スループットおよびフットプリントの測定 4 ガベージ・コレクションのパフォーマンスに影響する要因 ヒープの合計サイズ 世代サイズに影響するヒープ・オプション ヒープ・サイズのデフォルト・オプションの値 Javaヒープ・サイズの最小化による動的フットプリントの節約 若い世代 若い世代のサイズ・オプション Survivor領域のサイズ設定 5 使用可能なコレクタ シリアル・コレクタ パラレル・コレクタ ガベージファースト(G1)ガベージ・コレクタ Zガベージ・コレクタ コレクタの選択 6 パラレル・コレクタ パラレル・コレクタのガベージ・コレクタのスレッド数 パラレル・コレクタでの世代の配置 パラレル・コレクタ・エルゴノミクス パラレル・コレクタの動作を指定するオプション パラレル・コレクタの目標の優先度 パラレル・コレクタの世代サイズの調整 パラレル・コレクタのデフォルト・ヒープ・サイズ パラレル・コレクタのヒープ・サイズの初期値と最大値の指定 過剰なパラレル・コレクタ時間とOutOfMemoryError パラレル・コレクタの測定 7 ガベージファースト(G1)ガベージ・コレクタ ガベージファースト(G1)ガベージ・コレクタの概要 G1の有効化 基本概念 ヒープ・レイアウト ガベージ・コレクション・サイクル ガベージ・コレクションによる一時停止とコレクション・セット ガベージファーストの内部 Javaヒープ・サイズの設定 若い世代のみのフェーズの世代のサイズ設定 領域回収フェーズの世代のサイズ設定 定期的なガベージ・コレクション 開始ヒープ占有率の決定 マーキング 非常にタイトなヒープの状況における動作 大型オブジェクト G1 GCのエルゴノミック・デフォルト 他のコレクタとの比較 8 ガベージファースト・ガベージ・コレクタのチューニング G1の一般的な推奨事項 他のコレクタからG1への移行 G1パフォーマンスの向上 フル・ガベージ・コレクションの監視 大型オブジェクトの断片化 レイテンシのためのチューニング 通常と異なるシステムまたはリアル・タイムの使用状況 処理に長時間かかる参照オブジェクト 時間がかかりすぎる若い世代のみのフェーズでの若い世代のみのコレクション 時間がかかりすぎる混合コレクション 高いRSの更新およびRSのスキャン時間 スループットのためのチューニング ヒープ・サイズのためのチューニング チューニング可能なデフォルト設定 9 Zガベージ・コレクタ ヒープ・サイズの設定 並行GCスレッド数の設定 オペレーティング・システムへの未使用メモリーの戻し 10 その他の考慮事項 ファイナライズと弱参照、ソフト参照およびファントム参照 明示的なガベージ・コレクション ソフト参照 クラス・メタデータ