目次 目次 タイトルおよび著作権情報 はじめに 対象読者 ドキュメントのアクセシビリティについて 関連ドキュメント 表記規則 1 Java仮想マシン・テクノロジの概要 2 コンパイラ・コントロール ディレクティブの記述 コンパイラ・コントロールのオプション ディレクティブ・ファイルの記述 コンパイラ・ディレクティブの記述 コンパイラ・ディレクティブのメソッド・パターンの記述 インライン・ディレクティブ・オプションの記述 Enableオプションによる重複の回避 ディレクティブの理解 デフォルト・ディレクティブとは コードへのディレクティブの適用 コンパイラ・コントロールと下位互換性 ディレクティブ・ファイルを操作するためのコマンド コンパイラ・ディレクティブとコマンドライン コンパイラ・ディレクティブと診断コマンド Javaプロセス識別番号の取得 診断コマンドによるディレクティブの追加 診断コマンドによるディレクティブの削除 診断コマンドによるディレクティブの出力 ディレクティブ・スタック内のディレクティブの順序 3 ガベージ・コレクション 4 クラス・データ共有 クラス・データ共有 アプリケーション・クラス・データ共有 動的CDSアーカイブ 共有アーカイブの再生成 手動によるクラス・データ共有の制御 5 Java HotSpot仮想マシン・パフォーマンス向上 コンパクト文字列 階層型コンパイル セグメント化されたコード・キャッシュ Graal : JavaベースのJITコンパイラ Ahead-of-Timeコンパイル 圧縮Ordinary Object Pointer ゼロ・ベース圧縮Ordinary Object Pointer エスケープ解析 6 JVM Constants API 7 非Java言語のサポート 非Java言語機能の概要 静的型付けと動的型付け 静的型付け言語は強く型付けされた言語であるとはかぎらない 動的型付け言語のコンパイルの課題 invokedynamic命令 ブートストラップ・メソッドを定義する 定数プール・エントリを指定する 定数プールの例 invokedynamic命令を使用する 8 シグナル・チェーン 9 ネイティブ・メモリー・トラッキング 主な機能 ネイティブ・メモリー・トラッキングの使用 NMTの有効化 jcmdを使用したNMTデータへのアクセス VM終了時のNMTデータの取得 10 HotSpot VM内のDTraceプローブ hotspotプロバイダの使用 VMライフサイクル・プローブ スレッド・ライフサイクル・プローブ クラス・ロード・プローブ ガベージ・コレクション・プローブ メソッド・コンパイル・プローブ モニター・プローブ アプリケーション追跡プローブ hotspot_jniプロバイダの使用 サンプルDTraceプローブ 11 致命的エラー・レポート エラー・レポートの例 12 Java仮想マシン関連のリソース ツール