目次 目次 タイトルおよび著作権情報 はじめに 対象読者 ドキュメントのアクセシビリティについて ダイバーシティ&インクルージョン 関連ドキュメント 表記規則 1 Javaコア・ライブラリ 2 シリアライズ・フィルタリング デシリアライズの脆弱性への対処 Javaシリアライズ・フィルタ フィルタ・ファクトリ 許可リストと拒否リスト パターン・ベースのフィルタの作成 カスタム・フィルタの作成 シリアライズ・オブジェクトのストリームの読取り 個別のストリームのカスタム・フィルタの設定 JVM全体のカスタム・フィルタの設定 パターンを使用したカスタム・フィルタの設定 クラスとしてのカスタム・フィルタの設定 メソッドとしてのカスタム・フィルタの設定 ObjectInputFilterメソッドを使用したフィルタの作成 フィルタ・ファクトリの設定 setSerialFilterFactoryを使用したフィルタ・ファクトリの設定 システムまたはセキュリティ・プロパティでのフィルタ・ファクトリの指定 ビルトイン・フィルタ フィルタ・アクションのロギング 3 非推奨の拡張 JDKでの非推奨 APIを非推奨とする方法 通知および警告 jdeprscanの実行 4 XMLカタログAPI XMLカタログAPIの目的 XMLカタログAPIのインタフェース XMLカタログAPIの使用 システム参照 パブリック参照 URI参照 Java XMLプロセッサ・サポート カタログ・サポートの有効化 XMLプロセッサでのカタログの使用 リゾルバのコール順序 エラーの検出 5 変更不可能なリスト、セットおよびマップの作成 ユースケース 構文 変更不可能なリストの静的ファクトリ・メソッド 変更不可能なセットの静的ファクトリ・メソッド 変更不可能なマップの静的ファクトリ・メソッド コレクションの変更不可能なコピーの作成 ストリームからの変更不可能なコレクションの作成 ランダム化された反復順序 変更不可能なコレクションについて 領域効率 スレッド・セーフティ 6 プロセスAPI プロセスAPIのクラスとインタフェース ProcessBuilderクラス Processクラス ProcessHandleインタフェース ProcessHandle.Infoインタフェース プロセスの作成 プロセスに関する情報の取得 プロセスからの出力のリダイレクト ストリームでのプロセスのフィルタリング プロセス終了時のonExitメソッドを使用したプロセスの処理 機密プロセス情報へのアクセスの制御 7 Preferences API Preferences APIとほかのメカニズムとの比較 使用上のノート 包含クラスのPreferencesオブジェクトの取得 staticメソッドのPreferencesオブジェクトの取得 不可分な更新 バッキング・ストアのステータスの判断 設計に関するFAQ 8 Javaロギングの概要 Javaロギングの例 付録A: XMLFormatter出力用のDTD 9 Java NIO grep NIOの例 チェックサムNIOの例 時間問合せNIOの例 タイム・サーバーNIOの例 非ブロッキング・タイム・サーバーNIOの例 インターネット・プロトコルおよびUNIXドメイン・ソケットNIOの例 ファイルのchmod NIOの例 ファイルのコピーNIOの例 ファイルのディスク使用量NIOの例 ユーザー定義ファイル属性ファイルNIOの例 10 Javaネットワーク ネットワーク・システム・プロパティ HTTPクライアント・プロパティ IPv4およびIPv6プロトコル HTTPプロキシ・プロパティ HTTPSプロキシ・プロパティ FTPプロキシ・プロパティ SOCKSプロキシ・プロパティ SOCKSユーザー名およびパスワードの取得 その他のプロキシ関連プロパティ UNIXドメイン・ソケットのプロパティ その他のHTTP URLストリーム・プロトコル・ハンドラのプロパティ HTTPダイジェスト認証メカニズムの動作を変更するシステム・プロパティ ホスト名からIPアドレスへのマッピングの指定 アドレス・キャッシュ・プロパティ 拡張例外メッセージ 11 擬似乱数ジェネレータ PRNGの特性 RandomGeneratorインタフェースを使用した擬似乱数の生成 マルチスレッド・アプリケーションでの擬似乱数の生成 新しいジェネレータの動的な作成 ジェネレータのストリームの作成 PRNGアルゴリズムの選択 12 仮想スレッド プラットフォーム・スレッドとは 仮想スレッドとは 仮想スレッドを使用する理由 仮想スレッドの作成と実行 ThreadクラスおよびThread.Builderインタフェースを使用した仮想スレッドの作成 Executors.newVirtualThreadPerTaskExecutor()メソッドを使用した仮想スレッドの作成と実行 マルチスレッド・クライアント・サーバーの例 仮想スレッドのスケジュールおよび固定された仮想スレッド 仮想スレッドのデバッグ 仮想スレッドのJava Flight Recorderイベント jcmdスレッド・ダンプでの仮想スレッドの表示 仮想スレッドに関する実際的なアドバイス 仮想スレッドをプールしない 制限されたリソースにセマフォを使用 固定の回避 スレッド・ローカル変数の使用について確認 13 外部関数およびメモリーAPI 外部関数およびメモリーAPIを使用したCライブラリ関数のコール オフヒープ・メモリーの割当て オフヒープ・メモリーの間接参照 オフヒープ・メモリーの割当てと移入を行うメソッド C関数のリンクおよびコール ネイティブ・リンカーのインスタンスの取得 C関数のアドレスの確認 C関数シグネチャの説明の作成 C関数のダウンコール・ハンドルの作成 JavaからのC関数の直接コール アップコール: Javaコードを関数ポインタとして外部関数に渡す メモリー・レイアウトおよび構造化アクセス 制限されるメソッド jextractを使用したネイティブ関数のコール JavaアプリケーションでのPythonスクリプトの実行 Javaアプリケーションからのqsort関数のコール