| 注:これまでのリリースノートに記載されたドキュメントの一部は、『HP-UX Java 2 プログラマーズ ガイド 』http://www.hp.com/products1/unix/java/infolibrary/prog_guide/index.html(英語)に移動しています。
『HP-UX Java 2 プログラマーズ ガイド』http://www.hp.com/products1/unix/java/infolibrary/prog_guide/index.html(英語)は、開発者向けのドキュメントです。このガイドには、HotSpotオプション、HP社固有のオプションと機能、メモリの割り当てに関する提案と例、WDBを使ってJavaスレッドのバックトレースを調べる方法、Javaネイティブ インタフェースのコード例などが記載されています。
バージョン1.4.2.08からは、SDK、RTE、Runtime Plug-in のリリースノートが本書1つにまとめられています。
さらに詳しい内容については、このリリースノートの「HP社およびSun社のその他のドキュメント」を参照してください。
SDKの使用方法
使用しないアーキテクチャ サポートをRTEから削除
RTEライセンス契約では、RTEを再配布するパートナーは、不要なアーキテクチャのサポートを削除する場合があります。機能コンポーネントは、どのような状況でも削除されない場合があります。1.4.2.05リリース以降では、次に示すように、不要アーキテクチャのサポートが削除される場合があります。
次のコマンドでは、RTEが標準的なディレクトリ/opt/java1.4/にインストールされていることが前提となります。
swremoveコマンドは、rootで実行する必要があります。次のコマンド行を使用してください:
- PA-RISCまたはHP Integrity (Itanium)システムで、PA_RISC 1.1のサポートを削除:
/usr/sbin/swremove Jre14.JRE14-PA11 Jre14.JRE14-PA11-HS (-pa11コマンド行オプションは使用できません)
- PA-RISCシステムで、64ビットサポートを削除:
/usr/sbin/swremove Jre14.JRE14-PA20W Jre14.JRE14-PA20W-HS (-d64コマンド行オプションは使用できません)
- HP Integrity (Itanium)システムで、64ビットサポートを削除:
/usr/sbin/swremove Jre14.JRE14-IPF64 Jre14.JRE14-IPF64-HS (-d64コマンド行オプションは使用できません)
動的スレッドローカル記憶領域(TLS)サポート
動的スレッドローカル記憶領域(TLS)は、HP Integrity (Itanium)システムでは、SDKバージョン1.4.2.00および5.0以降完全にサポートされています。
動的TLSは、HP-UX PA-RISCシステムではサポートされていません。ただし、対処方法があります。詳細は、リリースノートの「TLSによるshl_load HotSpot libjvmの問題(PA-RISC)」を参照してください。
シグナル連鎖機能
シグナル連鎖機能を使用すると、JVMが使用するシグナルをアプリケーションで使用できるようになるため、JVMの機能と衝突することがなくなります。シグナル連鎖機能では、アプリケーションはライブラリlibc.2の前にlibjsig.sl (PA)またはlibjsig.so (Itanium)をロードする必要があります。
PA-RISCでこの機能を実行するには、次のパッチをインストールし、LD_PRELOADを使用する必要があります。HP Integrityでは、パッチや回避方法は必要ありません。
HP-UX 11.11 PA-RISC systems, install patch PHSS_28436 (またはその更新版)
LD_PRELOADの使用例と使用方法については、『HP-UX Java 2 プログラマーズ ガイド』http://portal.netrefresh.com/products1/unix/java/infolibrary/prog_guide/signals.html#chaining(英語)を参照してください。
HotSpot JVMオプション
標準オプションと非標準オプションについては、『HP-UX Java 2 プログラマーズ ガイド』http://www.hp.com/products1/unix/java/infolibrary/prog_guide/hotspot.html(英語)を参照してください。
ガベージコレクタ:パラレル、並列マークアンドスイープ
JavaSoftでは、アプリケーションのスループットを強化し、ガベージ コレクションの休止時間を短縮する、New Generationのガベージ コレクタを実装しています。
ガベージコレクションと新しいコレクタの詳細については、JavaSoftのマニュアル『Tuning Garbage Collection with the 1.4.2 Java Virtual Machine』http://java.sun.com/docs/hotspot/gc1.4.2/index.html(英語)を参照してください。
Javaヒープ内の物理メモリとスワップの割り当て
Javaヒープ内の物理メモリとスワップを割り当てるメソッドが変更されています。そのため、Glanceなどのツールを使ってJavaプロセスを監視すると、RSS (Resident Set Size)メモリ使用量が高くなるか、アプリケーションの起動が多少遅くなる可能性があります。
このような状況が発生する原因と主なコマンド行オプションの使用例は、『HP-UX Java 2 プログラマーズ ガイド 』の「Javaヒープ内の物理メモリとスワップの割り当て」を参照してください:http://www.hp.com/products1/unix/java/infolibrary/prog_guide/expanding_memory.html
アジア系TrueTypeフォントとアジア系ロケール
HP社のバージョン1.4 JDKでは、TrueTypeフォントとともにアジア系ロケールがサポートされています。詳細は、http://www.hp.com/products1/unix/java/infolibrary/font_info.html(英語)を参照してください。
Date/Timeメソッド - 新しいデフォルト
HotSpot JVMは、gettimeofday()システム コールを使って日時情報を取得します。
パフォーマンス上、アプリケーションの起動時からのCPUの単位時間を使用して現在時刻を計算する、新しいメカニズムが使用されています。このため、date(1), adjtime(2)、またはntpなどの時間同期ユーティリティを使用してシステム日付または時刻に行った変更は、Javaが返す日時にはプロセスが再起動されるまで反映されません。
システム時刻に対する変更を即座に反映する必要がある場合、 -XX:+UseGetTimeOfDayオプションを使用すると、新しい軽量のメカニズムの代わりにgettimeofday呼び出しを使用するようJVMに指示できます。ただし、この場合、パフォーマンスが低下することに注意してください。
プロファイリング
SDKバージョン1.4では、将来的にプロファイリング機能をサポートするためのSIGPROFハンドラが自動的にインストールされます。これによって、SIGPROFを使用するほかのネイティブ コードやプロファイリング ツールとの非互換性が生じることがあります。
次のオプション-XX:+ReduceSignalUsageを指定することによって、SIGPROFハンドラを無効にすることができます。
ただし、このオプションを使用すると、SIGQUITハンドラが無効になるため、Javaスタックトレースを生成することはできなくなります。
acceptまたはreadの保留時にソケットを閉じる方法(PA-RISC) - 新しいパッチ情報!
VMでソケットを閉じるメカニズムが変更されたため、サポート対象のすべてのHP-UX PA-RISCシステムでは、以前のリリースで推奨されていた-XdoCloseWithReadPendingオプションを使用する必要がなくなりました。ただし、HP-UX 11.11では、次のパッチ(または代替パッチ)が必要です:
PHKL_32457 PHKL_25840 PHKL_25842 PHNE_25644 PHNE_25084
さらに詳しい内容については、『HP-UX Java 2 プログラマーズ ガイド 』http://www.hp.com/products1/unix/java/infolibrary/prog_guide/hotspot.html#socket(英語)を参照してください。
以前のリリースとの互換性
Sun Microsystemsは上位互換性を保持しているため、1.3 JVM用に書かれたアプリケーションは1.4 JVMでも実行できます。通常、下位互換性はサポートされていませんが、これは、以前のJVMでは実行できない状態で新しいAPIが実装されているためです。
バージョン1.3と1.4の間の非互換性に関する詳しい情報については、次のWebサイトを参照してください。http://java.sun.com/j2se/1.4/compatibility.html(英語)
Runtime Plug-inの使用方法および構成
Runtime Plug-Inを構成するには、ControlPanel javaアプリケーションを起動するControlPanelスクリプトを実行するか、ControlPanel.htmlをブラウザでロードします。Runtime Plug-inがインストールされているディレクトリに、それぞれjre/binスクリプトとjre/ファイルがあります。
ControlPanelアプリケーションは、次のファイルを生成します。
$HOME/.java/deployment/deployment.properties
このファイルには、設定の他に、Runtime Plug-in対応htmlページからブラウザがアプレットをロードする際に、HP-UX用Runtime Plug-inが使用するJREへのパスが含まれています。この設定は、Plug-inがデフォルトディレクトリにインストールされている場合、次のように保存されています。
javaplugin.jre.path=/opt/java1.4/jre
HP-UX用Runtime Plug-In for HP-UX Java Editionの構成には、環境変数は必要ありません。ただし、次の環境変数をオプションとして使用できます。
MOZ_PLUGIN_PATH
MOZ_PLUGIN_PATH環境変数を使うと、プラグインライブラリの追加ディレクトリを検索するように、Mozillaブラウザに指示できます。
注記:JREを検索する際、$HOME/.java/deployment/deployment.propertiesファイルのエントリは、MOZ_PLUGIN_PATHのエントリよりも優先されます。
CLASSPATH
ユーザーのCLASSPATH環境変数は、コントロール パネルを実行して[Javaランタイム パラメータ]ボックスで-cpまたは-classpathを指定すれば、JVMで渡すことができます。変更内容を有効にするには、ブラウザを終了して再起動する必要があります。
Runtime Plug-Inの詳細については、Plug-In FAQ http://www.hp.com/products1/unix/java/java2/jpi/faqs/index.html(英語)を参照してください。
HTMLページでRuntime Plug-inを使用可能にする (HP-UX)
MozillaブラウザがRuntime Plug-in対応HTMLページからアプレットを初めてロードする際、HP-UX用Runtime Plug-inがダウンロードおよびインストールされます。Sun Microsystems社は、Plug-in製品の使用を支援する追加ツールを提供しています。これには、HTMLページを自動的にRuntime Plug-in対応にするコンバータが含まれます。また、手動でRuntime Plug-in対応にするユーザー向けに、HTML仕様も提供されています。
Sun Microsystems社のHTMLコンバータおよび仕様に関する情報は、http://java.sun.com/reference/docs/index.html(英語)を参照してください。デフォルトのブラウザバージョンのHP-UX Runtime Environment for Javaの代わりに、HP-UX用Runtime Plug-in for Java Edition バージョン1.4.xを使用するようにHTMLページを変更することもできます。
その他のドキュメント(HP社とSun Microsystems社)
以下のWebサイトでは、追加情報を入手できます。
Javaマニュアル ページ(/opt/java1.5/man)
|