Sun Java Solaris Communities My SDN Account
 
J2SE 5.0

Release Notes

 

リリースノート
JavaTM 2 Platform Standard Edition Development Kit 5.0
(JDK 5.0)

英語版

はじめに

OS とハードウェアプラットフォーム
Linux 使用時の注意
仮想マシン
HotSpot VM
コアライブラリ
New I/O (NIO)
セキュリティ
JAXP
Microsoft Windows でのプラットフォームのタイムゾーンの検出
直列化
浮動小数点例外
Java Native Interface
Java 管理拡張テクノロジ
統合ライブラリ
RMI
JDBC
ユーザインタフェース
Java Sound テクノロジ
Java 2D テクノロジ
日本語ロケールのフォント
AWT
Swing
配備
一般的な配備
Java Plug-in
Java Update
サーバ VM
ツールとツールアーキテクチャ
Java コンパイラ (javac)
Java アプリケーション起動ツール (java)
java.lang.instrument および Java Virtual Machine Tool Interface (JVM TI)
Java Platform Debugger アーキテクチャ (JPDA)
Java Virtual Machine Profiler インタフェース (JVMPI)
Java Virtual Machine Debug インタフェース (JVMDI)
J2SE 監視および管理コンソール (jconsole)
Javadoc ツール

はじめに

Java 2 Platform Standard Edition Development Kit 5.0 (JDK 5.0) は、Java プラットフォームの機能リリースであり、多方面にわたる新機能および拡張機能を実現しています。

このドキュメントでは、5.0 における既知のバグとその回避策、その他の重要な問題について簡単に説明します。 詳細については、次のリンクのページを参照してください。

J2SE ソフトウェアのバージョン番号を確認するには、次のコマンドを使用します。

java -version

OS とハードウェアプラットフォーム

特定の J2SE テクノロジにおけるプラットフォーム固有の問題およびバグについてはこのページでプラットフォーム名 (「Windows」、「Linux」、「SolarisTM」)を検索してください。

Linux 使用時の注意

以下は、Linux プラットフォーム上でこのリリースを使用する際の注意点です。
  • バージョン 2.4.20 より前の Itanium 対応 Linux カーネルには重大な仮想メモリのバグがあります。このような初期のカーネルは Itanium 対応の Red Hat の標準カーネルです。これらのカーネル上で動作する Java アプリケーションでは (特にマルチプロセッサマシン上で) 無作為にセグメント障害が発生しやすく、信頼性が低くなります。「uname -a」コマンドを使用して、2.4.20 以降のバージョンのカーネルがインストールされていることをご確認ください。Red Hat Advanced Server 用の新しいカーネルは HP または Red Hat から入手できます。

  • 以下の問題はマルチプロセッサシステム上で断続的に発生する可能性があります。回避策はありません。解決するには Linux システムをアップグレードする必要があります。
    • バージョン 2.2.4 以前の glibc 2.2 のバグは、残った実行スレッドが 1 つだけになると仮想マシンを終了させる可能性があります。この問題は、バージョン 2.2 から 2.2.4 の glibc を含む Red Hat 7.0、7.1、および 7.2などの Linux プラットフォームに影響を及ぼすことがあります。この問題は、glibc 2.2.5 では修正されています。バグレポート 4656697 を参照してください。
    • Linux 2.4 SMP カーネルは重複 PID を起こすことがあり、ネットワークエラーからクラッシュまで引き起こす可能性があります。この問題は、カーネル 2.4.18 では修正されています。バグレポート 4650839 および 4682743 を参照してください。
    • Linux 2.4.9 カーネルの既知のバグにより、Java プラットフォーム上で実行中のアプリケーションがすべての CPU リソースを消費し、その結果ハングアップすることがあります。この問題は、バグレポート 4701394 で追跡されています。
    • Tomcat は Red Hat 9 上でハングすることがあります。バグレポート 4970650 を参照してください。

  • Red Hat Linux のバージョンには JIS X 0201 用の TrueType フォントをデフォルトで持たないものがあり、フォント設定ファイルに JIS X 0201 の定義がありません。回避策として TrueType JIS X 0201 フォントを J2RE の lib/fonts/fallback ディレクトリにインストールしてください。
  • 新しい RPM をインストールした後で FCS 以外の古い RPM を削除すると、GNOME デスクトップの Java サポートや JAR ファイルおよび JNLP ファイルの関連付けが正しく削除されない可能性があります。この問題を回避するには、新しいバージョンの RPM をインストールする前に古いバージョンの RPM をアンインストールしてください。すでにこの問題が起こっている場合は、すべてのバージョンの Java 5.0 RPM をアンインストールする必要があります。それから新しいバージョンを再インストールしてください。 (注: この問題は、コマンドプロンプトからの JRE の動作には影響しません。) バグレポート 5063669 を参照してください。

  • バージョン 1.4.2 以降の場合、すべてのバージョンの Java RPM を削除してもファイルが残る可能性があります。このようなファイルは、Java JAR ファイル拡張や JNLP ファイル拡張を現在の JRE と関連付けるために使用されます。 バージョン 1.4.2 以降ですべてのバージョンの Java RPM をアンインストールした場合は、これらのファイルを削除する方が安全です。 バグレポート 5063681 を参照してください。

「インストールガイド Linux 版」のトラブルシューティングの節も参照してください。

仮想マシン

HotSpot VM

以下はこのリリースの Java HotSpot 仮想マシン (VM) についての注です。
  • -Xincgc オプションは、Train ガベージコレクタの代わりに並行ガベージコレクタを起動します。並行ガベージコレクタは停止が少なく、一般にパフォーマンスも Train ガベージコレクタより優れています。このコレクタは 1.5 (現在は 5.0 と呼ばれる) 以降のバージョンではサポートされません。 ガベージコレクションのオプションに関する問題については、通常のサポートまたはフィードバックチャネルをお使いください。ガベージコレクションのチューニングについては Tuning Garbage Collection with the 5.0 JavaTM Virtual Machine を参照してください。 

  • J2SE 1.4.1 から、Java HotSpot Server VM は SPARC® v8 アーキテクチャのチップでの動作をサポートしなくなりました。SPARCstation® プロセッサファミリ (SPARCstation Workstation、SPARCstation Classic、SPARCstation 2、SPARCstation 4、SPARCstation 5、SPARCstation 10、SPARCstation 20、および SPARCstation® Voyager プロセッサなど) が、この変更の影響を受けます。UltraSPARC® プロセッサは、この変更の影響~ を受けません。Java HotSpot Client VM は、SPARC v8 および v9 プラットフォームでの動作をサポートします。サーバ VM およびクライアント VM の詳細は、Java HotSpot VM のドキュメントを参照してください。

  • Java HotSpot VM は、メモリが完全に割り当てられていて、使用可能なスワップ空間がない場合は、そのヒープサイズを拡張できません。これは、たとえばいくつかのアプリケーションが同時に動作している場合などに起こり得ます。その場合、VM は次の例のようなメッセージを出力して終了します。
       Exception java.lang.OutOfMemoryError: requested <size> bytes
    
    このような状態になった場合は、仮想メモリをより多く割り当てたり、同時に実行するアプリケーションの数を制限したりして、利用可能なスワップ空間を増やしてみてください。また、Java オブジェクトヒープのサイズを制限する -Xmx フラグの値を下げることでメモリの使用を減らすこともできます。

    この問題はバグ 4697804 として追跡中です。

  • サーバ VM のコンパイラではすべての「コールド」組み込み例外に対する的確なスタックバックトレースを提供しています。このような例外が数回スローされると、パフォーマンス向上のため、メソッドが再コンパイルされることがあります。再コンパイルの後、コンパイラはスタックトレースを提供しない事前割り当て済みの例外を使用して、より速い方法を選択できます。事前割り当て済みの例外を全く使用しないようにするには新しいフラグ -XX:-OmitStackTraceInFastThrow を使用します。

  • Tomcat では -client および -client -Xcomp フラグが 24 時間 (1310 回の繰り返し処理) 後に Solaris 上でハングします。 この問題は Tomcat/Apache のバージョン 4.1.30 および 5.0.17 で修正されています。

または、コマンド行フラグ -Xmx-Xms を同じ値に設定して、VM がヒープの拡張を行うことを防止するという方法もあります。ただし、使用可能なスワップ空間がない場合は、単に -Xmx の値を増加させても意味がないので注意してください。

この問題は、バグ 4697804 として追跡中です。

コアライブラリ

New I/O (NIO)

  • 次のバグは、5.0 にも依然として存在します。 ファイルロック操作の割り込みの実装が不完全である (バグ 4460065)

  • J2SE 1.4.2 では、java.nio.charset API から ISO-2022-CN-CNS と ISO-2022-CN-GB の両方のエンコーディングサポートが削除されました。ただし、java.io または java.lang.String の API を使って入力ストリームまたは String をこれらのエンコーディングにエンコードすることは可能です。J2SE 1.4.1 では、制限された (不完全な) ISO-2022-CN-* の java.nio.charset サポートをプレビューしました。この制限には、相互変換が実行できないことや、バグ 4737614「"sun.nio.cs.ext.ISO2022_CN_CNS.newDecoder() returns null」があります。

NIO の情報については、NIO ドキュメントのNIO のマニュアルを参照してください。

セキュリティ

次 は、このリリースのセキュリティに関する注です。
  • 公開鍵証明書は OCSP サービスを使用して検証できます。ただし OCSP サービスの場所を ocsp.responderURL セキュリティプロパティで設定して明示的に指定する必要があります。証明書の Authority Information Access (権限情報アクセス) 拡張は検査されません。

  • バージョン 5.0 の Jarsigner ツールは、オプションで JAR ファイルに署名するときにタイムスタンプを付けます。ただし、バージョン 5 より前の JRE はタイムスタンプを認識できず、署名されていないファイルとして JAR を表示します。この上位互換性の問題はバージョン 1.3.1 および 1.4.2 の保守リリースで修正中です。

  • UNIX プラットフォームでは、Sun の SecureRandom 実装は、可能な場合 /dev/random を使って自身をシードします。この方法では、暗号化アプリケーションの起動時間を大幅に短縮できますが、カーネルエントロピプールが空の場合は遅延の原因になります。Solaris 8 でこの問題が発生した場合は、パッチ 112438-01 (SPARC) または 112439-01 (x86) がインストールされていることを確認します。<java.home>/lib/security/java.security ファイルを編集して、シード用の別の URL を指定することもできます。URL を開けない場合は、デフォルトの実装が pure Java シード実装になります。
  • Sun の JSSE v1.0、v1.0.1、および v1.0.2 に存在するバグのため、DSA 署名を DSA サーバキー交換メッセージの一部に使用した場合、SSL_DHE_DSS_* 暗号スイートによりこれらの署名の不正な符号化が行われます。

    相互運用システムプロパティにより、アクティブな動作が制御されます。これは、Sun の JSSE 1.0.2 で導入されたプロパティです。

com.sun.net.ssl.dhKeyExchangeFix
 true  適正な動作を使用する (JSSE 1.0.3 と連携可能)
 false  「壊れた」動作を使用する (JSSE 1.0、1.0.1、1.0.2 と連携可能)

下位互換性を維持するため、JDK 1.4 以降の SunJSSE プロバイダもこのプロパティを保持します。デフォルト値は true です。

 リリース  デフォルトの動作  スイッチ
 JDK 1.4.0 以降  適正動作  true
 JSSE 1.0.3  適正動作  true
 JSSE 1.0.2  「壊れた」動作  false
 JSSE 1.0.1  「壊れた」動作  なし
 JSSE 1.0  「壊れた」動作  なし

  • RSA ベースの PreMasterSecret を交換する場合、 RFC 2246-TLSv1 により、PreMasterSecret メッセージにクライアントがサポートする最新バージョンを含めるべきことが指定されています。SSL 実装の中には、適正なメッセージを送信するものがある一方で、現行セッションのバージョン番号 (不正) を送信するものがあります。大半のサーバは、どちらのタイプのメッセージも受け付けます。

    これらの違いは、サーバがサポートしない特定のプロトコルをクライアントが要求するかどうか、その結果としてサーバがより小さいバージョン番号を要求して、一方のメッセージタイプだけ (適正または不正) を受け付けるかどうかという点だけです。

    JDK 1.4.1、1.4.2 または JDK 5.0 (1.5.0) の SunJSSE を使用するサーバは、どちらのタイプのメッセージも受け付けます。

    JDK 1.4.0 の JDK 内の SunJSSE を使用するサーバは、不正なメッセージタイプだけを受け付けます (現在のところ、一般に使用されている Web ブラウザの大半は不正なメッセージを送信します)。

    JDK 1.4.1 または 1.4.2 の SunJSSE を使用するクライアントは、次のシステムプロパティを使用して、アクティブなメッセージタイプを制御できます。

com.sun.net.ssl.rsaPreMasterSecretFix
true  RFC 2246 に基づく適正動作を使用
false  不正な動作を使用

大半のサーバがいずれかのメッセージタイプを受け付ける場合、JDK 1.4.0 の SunJSSE を使用するサーバと連携するために、デフォルトは false になります。

 リリース  デフォルトの動作  スイッチ
 JDK 1.4.1、1.4.2 および JDK 5.0 (1.5.0)  不正な動作  false
 JDK 1.4.0  不正な動作  なし


JAXP

このリリースの既知のバグと問題については JAXP のリリースノートを参照してください。

Microsoft Windows でのプラットフォームのタイムゾーンの検出

Microsoft Windows オペレーティングシステムのインストールで、夏時間を使用しないタイムゾーン (例: 東京、大阪、札幌) を選択した場合、[自動的に夏時間の調整をする] のグローバルシステム設定がオフになります。このように設定された場合、Java ランタイムは、タイムゾーン ID (例: Asia/Tokyo) としてではなく、GMT オフセット形式 (例: GMT+09:00) でプラットフォームのタイムゾーンを検出します。このインストール上の問題を解決するには、意図的に設定をオフにする場合を除いて、インストールの終了後に以下の手順で設定を変更します。
  1. コントロールパネルにある [日付と時刻] を開きます。
  2. [タイムゾーン] タブにある夏時間を使用するタイムゾーン (例: (GMT-08:00) 太平洋標準時 (米国およびカナダ);ティファナ) を選択し、次に [自動的に夏時間の調整をする] チェックボックスの選択をオンにしてから [適用] ボタンを押します。
  3. 使用するタイムゾーンを選択し直し、[OK] ボタンを押します。

直列化

このリリースでの直列化機能の変更については 「J2SE 5 での直列化の変更と拡張」を参照してください。

浮動小数点例外

プロセッサの浮動小数点ユニット (FPU) には通常、特定の浮動小数点イベントでその動作~ を制御する制御ワードがあります。浮動小数点イベントとは、例えばオーバーフロー (有限 値を超える値を生成した場合)、アンダーフロー (小さすぎる値を生成した場合)、ゼロ除算 (例: 1.0/0.0) の場合に起きるイベントです。 Java は正確にこのようなイベントの結果を定義します。 Java は、IEEE 754 浮動小数点規格のデフォルトの戻り値を使用します (例えば、オーバー フローまたはゼロ除算の場合は正の無限大または負の無限大のどちらかを生成する)。 他の言語環境では、異なる結果となる可能性があります (例えば、ゼロ除算の場合、無限大 ではなく例外を生成してプログラムを停止する)。 異なる浮動小数点のセマンティクスのプログラムを Java プログラムで呼び出した場合、そ の呼び出されたプログラムは、自身のセマンティクスを実装するために FPU 制御ワードを~ 変更する可能性があります。しかし、これら呼び出されるプログラムは、FPU 制御ワードを 以前の値に戻すようになっていなければなりません。そのようになっていない場合は、外部 プログラムの終了後、誤った浮動小数点例外とともに終了してしまう可能性があります。 市販の DLL の中には、呼び出しスレッドに戻る際に、FPU 制御ワードを元に戻さないもの~ があることが知られています。浮動小数点例外とともに終了してしまう場合は、その原因と してその可能性を考慮する必要があります。

この問題に関する例は、バグ 4644270 を参照してください。

Java Native Interface

Java Native Interface 仕様はひとつのドキュメントにまとめられました。前のリリースでは、1.2 拡張機能と 1.4 拡張機能は 1.1 仕様とは別になっていました。 JNI 仕様は、標準 UTF-8 エンコーディングおよび「Java modified UTF-8」エンコーディングに対する説明も組み込んでいます。(RFE 4915107 を参照してください。)

Java Management Extensions (JMX) テクノロジ

Java Management Extensions (JMXTM) が J2SE platform のバージョン 5.0 に追加されました。J2SE 5.0 に含まれる JMX API の詳細は JMX のマニュアル を参照してください。

統合ライブラリ

RMI

このリリースにおける RMI 機能の変更については、「JavaTM RMI リリースノート J2SE 5」を参照してください。

Java Database Connectivity (JDBC)

5.0 では JDBC ODBC ブリッジはすべてのオペレーティングシステム上の AMD-64 プロセッサでサポートされていません。ODBC ドライバも使用できません。

ユーザインタフェース

Java Sound テクノロジ

  • エンドポイントが -1 に設定されると、既知のバグによって新しいシーケンサループ機能が失敗します。
    回避策:
    sequencer.setLoopEndPoint(sequencer.getTickLength());
    このバグは 5.0 の最終リリースで修正されます。(4967587 を参照してください。)

  • AudioFileFormat.Type および AudioFormat.Encodingequals() メソッドは名前を比較しますがクラスインスタンスを比較しません。==Encoding または Type を比較するアプリケーションでは equals() メソッドを代わりに使うことをおすすめします。(RFE 4925483 を参照。)

  • MidiSystem.getReceiver() および MidiSystem.getTransmitter() は外部 MIDI ポートの Receiver/Transmitter を返すように修正されました。外部ポートがインストールされていない場合は Synthesizer インスタンスまたは Sequencer インスタンスが返されます。(RFE 4934509 を参照。)

  • MidiSystem.getSequencer() は下位互換を維持するため、デフォルトの Synthesizer に接続されている Sequencer オブジェクトを返します。動作は以下の 3 通りです。
    1. デフォルトの Synthesizersound.properties ファイルで設定する。(RFE 4776511 を参照。)
    2. Sequencer をデフォルトの Synthesizer から切断するため、Transmitter の一覧を Sequencer から取得してすべて閉じる。(RFE 4931387 を参照。)
    3. 新しいメソッド MidiSystem.getSequencer(boolean)false パラメータと一緒に使う。(RFE 4931400 を参照。)

  • 新しいシーケンサを実装すると、デフォルトの Sequencer は Synthesizer にキャストされなくなります。(RFE 4773012 を参照。)

Java 2D テクノロジ

Microsoft Windows プラットフォームでは、J2SE 1.4.1 以降の Java 2D 機能は、DirectDraw および Direct3D のさまざまなオフスクリーン描画機能を使用して実装されています。このため、以前のリリースでは Direct3D ドライバにバグが存在すると問題が発生しました。グラフィカルアプリケーション実行中に描画やクラッシュの問題に遭遇した場合は、ドライバの更新を考慮してください。特定のカードの最新ドライバは、通常、ご使用のコンピュータ、ビデオカード、あるいはビデオチップの製造元の Web サイトから入手できます (http://www.nvidia.comhttp://www.atitech.com など)。

アプリケーション起動時に、次のコマンド行フラグを指定することもできます。

-Dsun.java2d.d3d=false

このフラグは、Direct3D を強制的に無効にします。こうすることにより、Direct3D 固有の問題を回避します。

次のフラグも使用できます。

-Dsun.java2d.ddoffscreen=false

このフラグは、オフスクリーンイメージ (Swing バックバッファなど) の DirectDraw と Direct3D を無効にします。

それでも問題が解決されない場合は、アプリケーション起動時に次のフラグを指定してみてください。

-Dsun.java2d.noddraw=true

このフラグは、DirectDraw と Direct3D を完全に無効にします。こうすることにより、これらの API とドライバによってシステム上に生じる問題を回避します。

パフォーマンス関連のフラグについては、ホワイトペーパー『High Performance Graphics』「Flags for Controlling Performance and Quality」の節を参照してください。

日本語ロケールのフォント

  • Red Hat Linux のバージョンには JIS X 0201 用の TrueType フォントをデフォルトで持たないものがあり、フォント設定ファイルに JIS X 0201 の定義がありません。回避策として TrueType JIS X 0201 フォントを J2RE の lib/fonts/fallback ディレクトリにインストールしてください。

AWT

このリリースの AWT 機能を使用する際の注意事項を以下に示します。
  • システムのセットアップによっては、ウィンドウ (またはフレームまたはダイアログ) を「常に手前に表示」する機能がサポートされません。Microsoft Windows と、GNOME2/Metacity を実行している Linux および Solaris、KDE/kwin を実行している Linux ではサポートされますが、CDE/dtwm を実行している Solaris ではサポートされません。上記以外のセッションおよびウィンドウマネージャを実行している Linux および Solaris では、ウィンドウの「常に手前に表示」が機能しない可能性があります。

    詳細については、バグレポート 4632143 を参照してください。
  • 最新ビルドの Metacity (現在は 2.6.2) を使用することをお勧めします。2.4.34 以前のバージョンにはいくつかのバグがありましたが (プログラムによるアイコン化、サイズ変更不能なフレームなどの問題)、修正されています。
  • リリース J2SE 1.4.2 以前では、Mozilla でアプレットを実行したときに、フォーカス関連のバグが発生していました。完全なリストは、詳細なリリースノートにあります。このようなバグの 1 つ 4806274 は、コンポーネントにフォーカスを設定するために requestFocus を呼び出したときに発生します。たとえば、アプレットの起動時にテキストフィールドにフォーカスを設定する場合などです。Solaris で Netscape 7 を実行しているときには、これが機能しないことがあります。これらの問題を修正するためには、リリース J2SE 5 では、Linux 用 Mozilla v1.5 など、XEmbed 対応版の Mozilla を使用してください。Solaris では、バージョン 1.4 以上の Sun Mozilla が必要です。このリリースを古いバージョンの Mozilla または Netscape で使用することはできません。
  • 0,0 位置でのウィンドウ (またはフレーム) の位置付けを指定するには、java.awt.Window.locationByPlatform プロパティを true に設定します。locationByPlatform プロパティが true であり、0,0 位置で新しいウィンドウが作成されるときには、その下のウィンドウマネージャは独自のロジックに従って、ウィンドウを並べて表示します。そうでない場合 AWT は、ウィンドウが意図的に 0,0 に位置づけられたのか、位置が指定されていないだけなのかを判断できないので、ウィンドウは画面の左上角に表示されます。

    詳細については、バグレポート 4102292 を参照してください。
  • アジア言語版の Windows NT がインストールされているマシンに英語版の Visual C++ 6.0 をインストールした場合、TextArea コンポーネントのアジア言語のテキストが正常に表示されないことがあります。アジア言語版の Windows NT 4.0 を実行しているマシンに Microsoft Exchange または Microsoft Office 97 をインストールした場合も、同じ問題が発生します。この問題は、日本語版 Windows NT では報告済みですが、その他の非ラテン系言語版 Windows NT (中国語版、韓国語版など) でも発生する可能性があります。

    この問題は、プログラムのインストール時に、アジア言語版 Riched32.dll ファイルが英語版 Riched32.dll ファイルで置き換えられることによって発生します。このファイルを再度アジア言語版に置き換えれば、問題は解消されます。

詳細については、AWT のリリースノートを参照してください。

Swing

以下の記述はこのリリースの Swing 機能に関連しています。
  • リリース 5 では Java の Look & Feel が変わりました。新しい Look & Feel の名前は「Ocean」であり、自動的にロードされます。Ocean は以前のデフォルトの Look & Feel (Metal) で使用されていたウィジェットサイズを維持します。見た目は変わりましたが使い心地はほとんど変わりません。 Metal の Look & Feel はシステムプロパティ swing.metalTheme=steel を設定すれば指定できます。

    詳細はバグレポート4607364 および Swing のリリースノートを参照してください。

  • 実行時に GTK L&F から他の L&F に切り替えると、ネイティブな GNOME 設定に対する変更 (アプリケーションフォントなど) によって GTK L&F が部分的に再ロードされるように見えます。これは GTK と一緒に表示される GUI が、選択された実際の L&F で表示されている他のパーツで表示されるためです。他の徴候にはエラーメッセージまたはスタックトレースが伴います。開発者やユーザは、実行時に GTK L&F から他の L&F に切り替えた後にネイティブ GNOME の設定を変更する場合は注意が必要です。理論的にはこの問題は GTK L&F にもう一度切り替えれば解決されますが、確実ではありません。

    バグレポート 5077738 を参照してください。

配備

一般的な配備

  • IE、Mozilla または Netscape 7 は、古いバージョンの JRE が新しいバージョンの Plug-in で使用されると異なる JRE 5 のビルド (Beta1、Beta2、Release Candidate、最終ビルドなど) でクラッシュする可能性があります。このクラッシュは、同期がとれていない deployment.properties ファイルが原因です。この問題を回避するには ユーザレベル deployment.properties ファイルを削除します。 バグレポート 4930673 を参照してください。

  • Linux に特有な配備の問題についてはLinux Notesを参照してください。

Java Plug-in

Internet Explorer は、アプレットが stop() または destroy() メソッドで UI コンポーネントを表示し、ユーザがブラウザの「戻る」または「更新」ボタンを押すことによって stop() または destroy() をトリガすると、ハングします。

Java Update

Java Update は J2SE Runtime Environment の最新のアップデートを自動でエンドユーザに提供します。 5 リリースでは、新しい Java コントロールパネルの「アップデート」タブからカスタマイズ可能なユーザオプションを設定できます。

サーバ VM

サーバ VM はスタンドアロンの Windows JRE インストールではインストールされません。 また、JDK のインストールでインストールされた公開 JRE でもインストールされません。公開 JRE でサーバ VM を使用したい場合は以下のディレクトリを作成する必要があります。

<drive>\:Program Files\Java\jre1.5.0\bin\server

作成したら、以下からサーバ VM をコピーします。

<drive>\:Program Files\Java\jdk1.5.0\jre\bin\server

ツールとツールアーキテクチャ

Java コンパイラ (javac)

新しい言語機能をコンパイルするには -source 5 オプションが必要です (-source 1.5 オプションと同義です)。 これは 5.0 Beta 2 リリース以降のデフォルトです。 Beta 1 リリースのデフォルトは -source 1.4 でした。

-target 5 オプションはデフォルトであり、5.0 の VM と互換性のあるクラスファイルを生成します (-target 1.5 オプションと同義です)。 1.4 または 5 の VM と互換性のあるクラスファイルを生成する場合は -target 1.4 オプションを指定してください。 eta 1 リリースのデフォルトは -source 1.4 でした。

Java アプリケーション起動ツール (java)

バージョン 1.2.2 の Solaris java コマンドで、-Xhprof は -Xrunhrof と同義でした。-Xhprof オプションは 1.3 からサポートされていません。

java.lang.instrument および Java Virtual Machine Tool Interface (JVM TI)

これらのインタフェースは 5.0 で新たに導入されました。

ClassLoader のサブクラスが null のクラス名を java.lang.ClassLoader.defineClass メソッドの1つに渡し (またはクラス名を提供しない非推奨の形式を使用し)、java.lang.instrument-javaagent オプションで java コマンドまたは JVM TI エージェントに対して有効になり ClassFileLoadHook イベントが有効になると VM がクラッシュします。 バグレポート 5096167 を参照してください。

Java Platform Debugger アーキテクチャ (JPDA)

JVMDI は JPDA の最も下のレベルで Java Virtual Machine Tool Interface (JVMTI) と置き換えられました。JVMTI は開発ツールや監視ツールで使用される新しいネイティブプログラミングインタフェースです。JVMTI を使用すると、Java 仮想マシン (VM) で実行されているアプリケーションの状態を調べたり実行を管理することができます。 JVMTI は VM の状態にアクセスする必要のあるすべてのツール (プロファイリングツール、デバッグツール、監視ツール、分析ツール、カバレージ分析ツールなど) に VM インタフェースを提供することを意図しています。

Java Virtual Machine Profiler Interface (JVMPI)

このインタフェースは推奨されません。次のメジャーリリースで Java Virtual Machine Tool Interface (JVMTI) に置き換えられます。

Java Virtual Machine Debug Interface (JVMDI)

このインタフェースは推奨されません。次のメジャーリリースで Java Virtual Machine Tool Interface (JVMTI) に置き換えられます。

J2SE 監視および管理コンソール (jconsole)

以下の記述は本リリースの jconsole の機能に関連するものです。
  • 5.0 リリースのウィンドウのタイリング機能は、デフォルトのウィンドウサイズで失敗します。この問題を回避するには、jconsole を起動するときにウィンドウのサイズを大きくしてください。バグレポート 5067121 を参照してください。

  • jconsole が接続している間に JVM が終了すると、jconsole の「メモリ」タブがグレー表示になり、新しい接続に対して無効になります。この問題を回避するには、新しい接続を新しい jconsole プロセスで行ってください。バグレポート 5074001 を参照してください。

Javadoc ツール (javadoc)

Javadoc ツールには既知のクラッシュ、ハング、大きなバグはありません。 これまでに修正されたバグの一覧と新しい機能については What's New in Javadoc 5.0 を参照してください。

Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.