JDK 開発者ガイド (Solaris 編)

仮想マシン

クラスデータの共有

クラスデータの共有機能は、アプリケーションの起動時間の短縮とフットプリントの減少を目的としたものです。インストール処理では、システム jar ファイルからプライベートな内部表現に一連のクラスが読み込まれ、続いてその表現が共有アーカイブファイルにダンプされます。その後行われる JVM の起動では、その共有アーカイブがメモリー内にマップされます。このため、クラスを読み込む手間が省かれ、これらのクラス用の JVM のメタデータのほとんどを複数の JVM プロセスで共有できます。詳細については、http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/vm/class-data-sharing.html にあるドキュメントを参照してください。

ガーベージコレクタのエルゴノミクス

この並行コレクタは、アプリケーションが必要とするメモリーを監視し、これに適合するように拡張されました。 アプリケーションのパフォーマンス目標を指定すると、JVM は、それらの目標に適合する最小のアプリケーションフットプリントで Java ヒープのサイズを調整します。適応性のあるこのポリシーは、最上のパフォーマンスを達成するために必要なコマンド行オプションの調整を不要にすることを目的にしています。ガベージコレクション機能の概要については、http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/vm/gc-ergonomics.html にあるドキュメントを参照してください。

サーバークラスマシンの検出

アプリケーションの起動時に、起動用ウィンドウはアプリケーションがサーバークラスマシンで稼動しているかどうかを検出できます。http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/vm/server-class.html にあるドキュメントを参照してください。

スレッド優先順位の変更

スレッドの優先順位の割り当ては、優先順位が明示的に設定されていない Java スレッドとネイティブスレッドが、ある程度対等に競うことができるように変更されました。http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/vm/thread-priorities.html にあるドキュメントを参照してください。

致命的なエラーの処理

致命的なエラーを報告するメカニズムはより優れた診断を出力するように改良され、信頼性も高まりました。

高精度タイミングのサポート

相対的な時間測定のためにナノ秒精度のタイムソースにアクセスできるように、メソッド System.nanoTime() が追加されました。System.nanoTime() によって返されるタイム値の実際の精度は、プラットフォームによって異なります。