Solaris 7 オンラインリリース情報

JavaTM 開発者キット (JDKTM) のバグに関する情報

スワップ空間が十分でない場合、Java アプリケーションでコアダンプが起きる (4037312)

スワップ空間が十分でない場合、Java アプリケーションでコアダンプが起き、次のバスエラーが表示されます。


not enough space

回避方法: システムで動作しているほかのアプリケーションを終了するか、スワップ空間を追加します。スワップ空間の追加方法については『Solaris のシステム管理 (第 1 巻)』を参照してください。

Java Thread.suspend () および Thread.resume () メソッドを使用してはならない (4040218)

Java Thread.suspend() メソッドにより Java のアプリケーションプログラムがハングすることがあります。suspend() および resume() メソッドを使用しないことをお勧めします。

ハングが起こる原因は、ロックを保持するスレッドが中断され、そのスレッドを再開するスレッドがこのロックを必要とするためです。これはスレッド化プログラミングの一般的な問題で、これらのプリミティブを正しく使用しないため、アプリケーションのデッドロックが発生します。

回避方法: wait()notify() などの、他の同期メソッドを使用します。

Timestamp コンストラクタが 2 けたの日付を受け付ける (4047499)

java.sql.Timestamp は 2 けたの年表記を使用できますが、2000 年以降には対応できません (19XX の下 2 けたとして解釈するため)。4 けたの年を指定する場合には、この問題は起こりません。


注意 - 注意 -

java.sql.Timestamp クラスは、いくつかのメソッドが無効になっている java.util.Date クラスのサブクラスです。上位互換性を確保するには、 java.text.SimpleDateFormat メソッドを使用してください。


SPARC only: SPARC 上の Java がコアダンプする (4087298)

アプリケーションやサポートライブラリで、ランダムなバスエラーやセグメント例外が起きます。

回避方法: このようなプログラムは、java_g または java -debug を使用して実行するようにします。あるいは、次のコマンドで JIT を無効にすることもできます。


setenv JAVA_COMPILER NONE

このどちらかの対策で、VM の実行プロファイルが変わります。

トゥルーカラー環境での性能を改善するためカラーマップを調整する (4102599)

Java アプリケーションでの X 要求が多いと、8 ビットカラー (TrueColor または PseudoColor) 環境でときどき起動が遅くなります。処理速度の遅いマシン上では、より顕著にこの状態が現れます。起動が遅れる主な原因は、初期化時に awt ライブラリにより最適にディザ処理されるカラーマップの計算です。

回避方法: 初期化時に計算されたカラーマップの大きさを、環境変数 VIRTCUBESIZE を使用して調整します。4 から 32 までの間の 2 の累乗数を設定します。デフォルトは 32 です。


setenv VIRTCUBESIZE 8 

-nojit オプションで警告が表示される (4144550)

-nojit を使用すると、次の警告が表示されます。


Warning: JIT compiler "none" not found. Will use interpreter  

回避方法: -Djava.compiler=NONE を設定します。