| 注: これまでのリリースノートに記載されたドキュメントの一部は、『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ネイティブ インタフェースのコード例などが記載されています。
バージョン5.0からは、JDK、JRE、Runtime Plug-in、Java WebStartテクノロジのリリース ノートが1つにまとめられています。
JDK/JREの使用方法
不要なアーキテクチャ サポートをJREから削除
JREライセンス契約では、JREを再配布するパートナーは、不要なアーキテクチャのサポートを削除する場合があります。 機能コンポーネントは、どのような状況でも削除されない場合があります。 不要アーキテクチャのサポートを削除する場合は、次のように行います。
次のコマンドでは、JREが標準的なディレクトリ/opt/java1.5/にインストールされていることが前提となります。
- PA-RISCシステムで、64ビットサポートを削除:
/usr/sbin/swremove Jre15.JRE15-PA20W Jre15.JRE15-PA20W-HS
- HP Integrity (Itanium)システムで、64ビットサポートを削除:
/usr/sbin/swremove Jre15.JRE15-PA20W Jre15.JRE15-PA20W-HS
WDBを使ってJavaスレッド スタックのバックトレースを調べる
現時点では、HP社のデバッガWDB 3.0.01以降(GNUデバッガ GDB)を使って、Javaスレッド スタック内の、Javaの言語を混ぜたフレーム(JavaとC/C++)を含むバックトレースを調べることができます。 これによって、VMアプリケーションやJavaの言語を混ぜたアプリケーションのデバッグが簡略化されます。 環境変数GDB_JAVA_UNWINDLIBに、SDKにあるJavaアンワインド共有ライブラリlibjunwind.sl (PA)のパス名を設定してください。
SDK Javaアンワインド共有ライブラリのデフォルト パス名は次のとおりです。
/opt/java1.5/jre/lib/PA_RISC/server/libjunwind.sl /opt/java1.5/jre/lib/PA_RISC2.0/server/libjunwind.sl /opt/java1.5/jre/lib/PA_RISC2.0W/server/libjunwind.sl /opt/java1.5/jre/lib/IA64N/server/libjunwind.so /opt/java1.5/jre/lib/IA64W/server/libjunwind.so
次に例を示します。 kshの場合、環境変数を以下のように設定できます。
64ビットPA2.0マシン:
export export GDB_JAVA_UNWINDLIB=/opt/java1.5/jre/lib/\ PA_RISC2.0W/server/libjunwind.sl
64ビット HP Integrity 2マシン:
export GDB_JAVA_UNWINDLIB=/opt/java1.5/jre/lib/\ IA64W/server/libjunwind.so
デフォルト以外の場所にSDKをインストールしている場合は、上のコマンドの"/opt/java1.5"を、ご自分のインストール パスに変更してください。 そして、通常どおりWDBを使って、ご自分のJavaアプリケーションあるいはコアファイルをデバッグしてください。 新しいJavaスタック アンワインド機能の使い方については、http://www.hp.com/products1/unix/java/infolibrary/tutorials/index.html (英文)にある「Debugging」のチュートリアル スライドを参照してください。
『HP-UX Java 2プログラマーズガイド』http://www.hp.com/products1/unix/java/infolibrary/prog_guide/index.html (英語)は、開発者向けのドキュメントです。 このガイドには、HotSpotオプション、HP社固有のオプションと機能、メモリの割り当てに関する提案と例、WDBを使ってJavaスレッドのバックトレースを調べる方法、Javaネイティブ インタフェースのコード例などが記載されています。
詳細は、Sun Microsystems社のJava HotSpot VMオプションhttp://java.sun.com/docs/hotspot/VMOptions.html (英語)を参照してください。
-AAおよび-APオプションで構築されたC++アプリケーションのサポート(PA-RISC)
Javaでは、各自のC++製品を構築するために-AAおよび-APオプションをサポートします。 Itaniumシステムでは、C++ランタイム ライブラリがデフォルトで-AAおよび-APをサポートします。 HP-UX 11.0または11.11 PA-RISCでは、Javaをロードするアプリケーションで、ANSI標準C++ランタイム(-AA)オプションを使用している場合、libjvmおよびlibfontmanagerの-AAバージョンを使用する必要があります。 これらのライブラリは、SDKおよびRTEの以下のダウンロード ページで、別個のダウンロード ファイルとして提供されていることに注意してください。 http://www.hp.com/products1/unix/java/java2/sdkrte14/downloads/index.html
これらは、以下のライブラリの標準C++ランタイム バージョンです。
./jre/lib/PA_RISC2.0/libjvm_v2.sl ./jre/lib/PA_RISC2.0W/libjvm_v2.sl ./jre/lib/PA_RISC2.0/libfontmanager_v2.sl ./jre/lib/PA_RISC2.0W/libfontmanager_v2.sl
C++アプリケーションが-AAを使ってコンパイルされている場合は、Javaライブラリのこれらのバージョンとネイティブ アプリケーションがリンクされるか、または、動的にロードされる必要があります。
JVMライブラリの標準C++バージョンは、PA_RISC2.0およびPA_RISC2.0Wアーキテクチャ用にのみサポートされます。
JVMが標準Javaドライバを通じて起動される場合には、-V2オプションを使って標準C++ランタイムを使用します。 次に例を示します。
java -V2 <javaprog>
ガベージコレクタ: パラレル、並列マークアンドスイープ
バージョン5.0でのガベージ コレクタの変更点の概要は、http://java.sun.com/j2se/1.5.0/docs/guide/vm/gc-ergonomics.html (英語)を参照してください。 パラレル コレクタ (-XX:+UseParallelGC)は、5.0で拡張され、アプリケーションが必要とするメモリを監視して対応するので、コマンド行オプションで調整しなくても、最大限のパフォーマンスを引き出すことができます。
Javaヒープ内の物理メモリとスワップの割り当て
1.4.1.05からは、Javaヒープ内の物理メモリとスワップを割り当てる方法が変更されています。 そのため、Glanceを使ってJavaプロセスを監視するときにRSS(Resident Set Size)メモリ使用量が高くなるか、またはアプリケーションの起動が多少遅くなる可能性があります。
この状況になる原因の詳細と、主なコマンド行オプションの例については、『HP-UX Java 2プログラマーズ ガイド』(http://www.hp.com/products1/unix/java/infolibrary/prog_guide/expanding_memory.html)の「 Java Heapにおける物理メモリとスワップスペースの分配」(英語)を参照してください。
アジア系TrueTypeフォントとアジア系ロケール
HP社のJDK 5.0.11では、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に指示できます。 ただし、この場合、パフォーマンスが低下することに注意してください。
プロファイリング
現在、-XeprofプロファイリングをサポートするためのSIGUSR2ハンドラと、将来的なプロファイリング機能をサポートするためのSIGPROF ハンドラが自動的にインストールされています。 これによって、SIGUSR2や SIGPROFを使用するほかのネイティブ コードやプロファイリング ツールとの非互換性が生じることがあります。 オプション-XX:+ReduceSignalUsageを指定することによって、両方のハンドラを無効にすることができます。
ただし、このオプションを使用すると、SIGQUITハンドラが無効になるため、Javaスタックトレースを生成することはできなくなります。
次のオプション-Xeprof:offを指定することによって、SIGUSR2ハンドラを無効にすることができます。 この場合、SIGQUITを使ってJavaスタックトレースを取得する能力は維持されます。 -Xeprofプロファイリングの詳細については、『HP-UX Java2プログラマーズガイド』 http://www.hp.com/products1/unix/java/infolibrary/prog_guide/hotspot.htmlを参照してください。
ソケットを閉じる方法(PA-RISCのみ)
以下の最新情報をご確認ください。VMでソケットを閉じるメカニズムが変更されたため、以前のリリースで推奨されていた-XdoCloseWithReadPendingオプションを使用する必要がなくなりました。 さらに詳しい内容については、『HP-UX Java2プログラマーズガイド』http://www.hp.com/products1/unix/java/infolibrary/prog_guide/hotspot.html#socket (英語)を参照してください。
以前のリリースとの互換性
Sun Microsystems社は上位互換性を保持しています。そのため、バージョン1.4 JVM用に書かれたアプリケーションはバージョン5.0 JVMでも実行できます。 通常、下位互換性はサポートされていませんが、これは、以前のJVMでは実行できない状態で新しいAPIが実装されているためです。
バージョン1.4と5.0の間の非互換性についての詳細は、http://java.sun.com/j2se/1.5.0/compatibility.html (英語)を参照してください。
Java Cryptography Extension (JCE)ポリシー ファイル
J2SE Development Kitおよび J2SE Runtime Environment とともに出荷されるJava Cryptography Extension (JCE)ポリシー ファイルは、一部の国の輸入管理規制に対応するために、利用可能な暗号化の強度が制限されています。 これらのファイルは、以下のディレクトリに格納されています。
<java-home>/lib/security/local_policy.jar <java-home>/lib/security/US_export_policy.jar
ただし、<java-home>は、JDKのjreディレクトリすなわちJ2SE Runtime Environmentの最上位ディレクトリです。 暗号の強度の制約がないこれらのファイルの無制限強度バージョンは、それらの利用が法的に適格である国に居住するユーザーであればJDK Webサイトから入手可能です。 利用が法的に適格な国に居住するユーザは、無制限強度バージョンをダウンロードし、強力な暗号化jarファイルを無制限強度ファイルで置き換えてください。
無制限強度管轄ポリシーファイルは、JavaSoftのWebサイトからダウンロードできます。 http://java.sun.com/j2se/1.5.0/compatibility.html (英語)。
Runtime Plug-Inの構成
Runtime Plug-Inの詳細については、Plug-In FAQhttp://www.hp.com/products1/unix/java/java2/jpi/faqs/index.html (英語)を参照してください。
JPI構成は、バージョン5.0で再設計されています。 Sun Microsystems社のドキュメント http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/jcp.html (英語)
CLASSPATH
ユーザーのCLASSPATH環境変数は、コントロール パネルを実行して[Javaランタイム パラメータ]ボックスで-cpまたは-classpathを指定すれば、JVMで渡すことができます。 変更内容を有効にするには、ブラウザを終了して再起動する必要があります。
Java WebStartテクノロジの使用方法
JavaTM Web Startは、アプリケーション導入テクノロジであり、1回クリックするだけで、Webブラウザからフル機能のアプリケーションを起動できます。 Java WebStartは、jreディレクトリに格納されています。 次に、機能の一部を紹介します。
- ブラウザに依存しないで動作するので、ブラウザをシャットダウンしたり別のWebページへ移動しても、アプリケーションの処理を続行できます。
- Java WebStartで導入したアプリケーションは、ブラウザ インタフェースがなくても動作できます。
- Java 2 Platformのセキュリティ機能が実装されています。
Java WebStartのハードウェアおよびオペレーティング システム要件は、動作環境であるJ2SEプラットフォームと同じです。
前バージョンのJava Web Start からのアップグレード
Java Web Startの新しいバージョンをインストールする場合は、旧バージョン(インストールされている場合)をアンインストールしないでください。 旧バージョンをアンインストールすると、ダウンロード キャッシュが削除されてしまうので、既にインストールされているJava WebStartアプリケーションをすべて再度ダウンロードしなくてはなりません。
このバージョンは、既にインストールされているバージョンを上書きし、新バージョン用にブラウザを自動更新します。 新しいバージョンをインストールした後で、旧バージョンを再度使用したい場合は、旧バージョンを再インストールする必要があります。 Java WebStartが使用する構成ファイルとプログラム ファイル フォルダは変更されないので、アップグレードしても設定はすべてそのまま残ります。
Java Web Startのその他ドキュメント
開発者向けドキュメントなどの情報は、Sun Microsystems社のドキュメント http://java.sun.com/products/javawebstart/reference/index.html (英語).
その他のドキュメント(HP社とSun Microsystems社)
以下のWebサイトでは、追加情報を入手できます。
Javaマニュアルページ(/opt/java1.5/manに格納されています) |