| 『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 (英語)を参照してください。
不要なアーキテクチャ サポートをJREから削除
JREライセンス契約では、JREを再配布するパートナーは、不要なアーキテクチャのサポートを削除する場合があります。 機能コンポーネントは、どのような状況でも削除されない場合があります。 不要アーキテクチャのサポートを削除する場合は、次のように行います。
次のコマンドでは、JREが標準的なディレクトリ/opt/java6/にインストールされていることが前提となります。
- PA-RISCシステムで、64ビットサポートを削除:
/usr/sbin/swremove Jre60.JRE60-PA20W Jre60.JRE60-PA20W-HS
- HP Integrityシステムで、64ビットサポートを削除:
/usr/sbin/swremove Jre60.JRE60-IPF64 Jre60.JRE60-IPF64-HS
- PAファイルセットは、HP Integrityシステムにはデフォルトでインストールされていません。 何らかの理由でそれらをインストールした場合は、以下に示すようにして削除できます。
/usr/sbin/swremove Jre60.JRE60-PA20 Jre60.JRE60-PA20-HS \
Jre60.JRE60-PA20W Jre60.JRE60-PA20W-HS
WDBを使ってJavaスレッド スタックのバックトレースを調べる
現時点では、HP社のデバッガWDB 3.0.01以降(GNUデバッガGDB)を使って、Javaスレッド スタック内の、Javaの言語を混ぜたフレーム(JavaとC/C++)を含むバックトレースを調べることができます。 これによって、JVMアプリケーションやJavaの言語を混ぜたアプリケーションのデバッグが簡略化されます。
環境変数GDB_JAVA_UNWINDLIB に、JDKにあるJavaアンワインド共有ライブラリlibjunwindのパス名を設定してください。 JDK Javaアンワインド共有ライブラリのデフォルト パス名は次のとおりです。
/opt/java6/jre/lib/PA_RISC/server/libjunwind.sl /opt/java6/jre/lib/PA_RISC2.0/server/libjunwind.sl /opt/java6/jre/lib/PA_RISC2.0W/server/libjunwind.sl /opt/java6/jre/lib/IA64N/server/libjunwind.so /opt/java6/jre/lib/IA64W/server/libjunwind.so
たとえば、環境変数は次のように設定します(kshの場合):
64ビットPA2.0マシン:
export GDB_JAVA_UNWINDLIB=/opt/java6/jre/lib/\ PA_RISC2.0W/server/libjunwind.sl
64ビット HP Integrityマシン:
export GDB_JAVA_UNWINDLIB=/opt/java6/jre/lib/\ IA64W/server/libjunwind.so
デフォルト以外の場所にJDKをインストールしている場合は、上のコマンドの/opt/java6を、ご自分のインストール パスに変更してください。 そして、通常どおりWDBを使って、ご自分のJavaアプリケーションあるいはコアファイルをデバッグしてください。 新しいJavaスタック アンワインド機能の使い方については、http://www.hp.com/products1/unix/java/infolibrary/tutorials/index.html (英文)にある「Debugging native and Java code with WDB」のチュートリアルスライドを参照してください。
-AAおよび-APオプションで構築されたC++アプリケーションのサポート(PA-RISC)
Javaでは、C++アプリケーションを構築するために-AAおよび-APオプションをサポートします。 PA-RISCシステムで稼動するHP-UX 11.11以降のリリースの場合、C++は -APランタイム オプションをデフォルトで使用します。 Javaをロードするアプリケーションで、ANSI標準C++ランタイム(-AA)オプションを使用している場合、-AAバージョンのlibjvmおよびlibfontmanagerを使用する必要があります。
これらは、以下のライブラリの標準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>
ガベージコレクション
JDK 6でのガベージ コレクションについては、http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html (英語)を参照してください。
アジア系TrueTypeフォントとアジア系ロケール
JDK 6では、TrueTypeフォントとともにアジア系ロケールがサポートされています。 詳細は、http://www.hp.com/products1/unix/java/infolibrary/font_info.html (英語)を参照してください。
Date/Timeメソッド-デフォルト
HotSpot JVMは、gettimeofday()システム コールを使って日時情報を取得します。 パフォーマンス上、アプリケーションの起動時からのCPUの単位時間を使用して現在時刻を計算する、新しいメカニズムが使用されています。 このため、dateコマンド、 adjtime()関数または ntpなどの時刻同期ユーティリティを使用してシステム日付または時刻に行った変更は、Java プロセスが再起動されるまでプログラムが返す日時に反映されません。
システム時刻に対する変更を即座に反映する必要がある場合、 -XX:+UseGetTimeOfDayオプションを使用すると、新しい軽量のメカニズムの代わりにgettimeofday呼び出しを使用するようJVMに指示できます。 ただし、この場合、パフォーマンスが低下することに注意してください。
プロファイリング
現在、-XeprofプロファイリングをサポートするためのSIGUSR2ハンドラと、将来的なプロファイリング機能をサポートするためのSIGPROFハンドラが自動的にインストールされます。 これによって、SIGUSR2や SIGPROFを使用する他のネイティブ コードやプロファイリング ツールとの非互換性が生じることがあります。 -XX:+ReduceSignalUsageオプションを指定することによって、両方のハンドラを無効にすることができます。 このオプションを使用すると、SIGQUITハンドラが無効になるため、Javaスタックトレースを生成することができなくなりますので注意してください。
SIGUSR2ハンドラだけを無効にするには、-Xeprof:offオプションを使用します。この場合は、SIGQUITを使用してJavaスタックトレースを生成することができます。 -Xeprofプロファイリングの詳細は、『HP-UX Programmer's Guide for Java 2』の「HotSpot Technology Tools and Commands」の章http://www.hp.com/products1/unix/java/infolibrary/prog_guide/hotspot.html (英語)を参照してください。
以前のリリースとの互換性
Sun Microsystems社は、上位互換性を維持しています。 そのため、旧バージョンのJVM用に書かれたアプリケーションはJDK 6.0でも実行できます。 通常、下位互換性はサポートされていませんが、これは、以前のJVMでは実行できない状態で新しいAPIが実装されているためです。
JDK 6とJDK 5との互換性についての詳細は、http://java.sun.com/javase/6/webnotes/compatibility.html (英語)を参照してください。
Java Cryptography Extension (JCE)ポリシー ファイル
JDK 6.0とともに出荷されるJava Cryptography Extension (JCE)ポリシー ファイルは、一部の国の輸入管理規制に対応するために、利用可能な暗号化の強度が制限されています。 これらのファイルは、以下のディレクトリに格納されています。
<Java-home>/lib/security/local_policy.jar <Java-home>/lib/security/US_export_policy.jar
ただし、<Java-home>は、JDKのJREディレクトリすなわちJava SE Runtime Environmentの最上位ディレクトリです。 暗号強度の制約がないこれらのファイルの無制限強度バージョンは、利用が法的に適格である国に居住するユーザーであればJDK Webサイトから入手可能です。 利用が法的に適格な国に居住するユーザーは、無制限強度バージョンをダウンロードし、強力な暗号化jarファイルを無制限強度ファイルで置き換えてください。
無制限強度管轄用ポリシー ファイルは、http://java.sun.com/javase/downloads/index.jspからダウンロードできます。
Runtime Plug-Inの構成
Runtime Plug-Inの詳細については、Plug-In FAQ http://www.hp.com/products1/unix/java/java2/jpi/faqs/index.htmlおよびSun Java Deployment Guide for 6.0 (英語)を参照してください。
JPI構成は、バージョン5.0で再設計されています。 詳細は、Sun Microsystems社のドキュメントhttp://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/jcp.html (英語)を参照してください。
CLASSPATH環境変数
ユーザーのCLASSPATH環境変数は、コントロール パネルを実行してJava Run Time Parameterボックスで-cpまたは-classpathを指定すれば、JVMで渡すことができます。 変更内容を有効にするには、ブラウザを終了して再起動する必要があります。
Java Web Startテクノロジの使用方法
注記: Java Web Startは、最初のJDK 6.0.00リリースでは利用できませんが、現在は後続のリリース(6.0.01)で利用可能となる予定です。
JavaTM Web Startは、アプリケーション導入テクノロジであり、1回クリックするだけで、Webブラウザからフル機能のアプリケーションを起動できます。 Java WebStartは、jreディレクトリに格納されています。 次に、機能の一部を紹介します。
- ブラウザに依存しないで動作するので、ブラウザをシャットダウンしたり別のWebページへ移動しても、アプリケーションの処理を続行できます。
- Java WebStartで導入したアプリケーションは、ブラウザ インタフェースがなくても動作できます。
- Java 2 Platformのセキュリティ機能が実装されています。
Java WebStartのハードウェアおよびオペレーティング システム要件は、動作環境であるJava SEプラットフォームと同じです。
前バージョンのJava Web Start からのアップグレード
注記: Java Web Startは、最初のJDK 6.0.00リリースでは利用できませんが、現在は後続のリリース(6.0.01)で利用可能となる予定です。
Java Web Startの新しいバージョンをインストールする場合は、旧バージョン(インストールされている場合)をアンインストールしないでください。 旧バージョンをアンインストールすると、ダウンロード キャッシュが削除されてしまうので、既にインストールされているJava WebStartアプリケーションをすべて再度ダウンロードする必要があります。
このバージョンは、既にインストールされているバージョンを上書きし、新バージョン用にブラウザを自動更新します。 新しいバージョンをインストールした後で、旧バージョンを再度使用するためには、旧バージョンを再インストールする必要があります。 Java WebStartが使用する構成ファイルとプログラム ファイル フォルダは変更されないので、アップグレードしても設定はすべてそのまま残ります。
Java Web Startのその他ドキュメント
注記: Java Web Startは、最初のJDK 6.0.00リリースでは利用できませんが、現在は後続のリリース(6.0.01)で利用可能となる予定です。
開発者向けドキュメントなどの情報は、Sun Microsystems社のドキュメントhttp://java.sun.com/products/javawebstart/reference/index.html (英語)を参照してください。 さらに、Sun Microsystems社の『Java Deployment Guide for 6.0』http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/contents.html (英語)にも役立つ情報が記載されています。
その他のドキュメント(HP社とSun Microsystems社)
以下のWebサイトでは、追加情報を入手できます。
Javaマニュアルページ(/opt/java6/man) |