1. Java トラブルシューティングについて
2. 標準APIの利用方法に関する問題
- Vectorクラスのcloneメソッドが、オブジェクトのコピーとはならず、参照のままとなってしまいます。
- Calenderクラスに、lenientを設定していても、異常な値をsetしても例外をthrowしません。
- ObjectOutputStream使用中にヒープ使用量が上がりつづけてしまいます。
- Runtime.exec()でシェルスクリプトを繰り返し実行するとRuntime.exec()がブロックしたままになってしまいます。
- propertiesファイルに2バイト文字のプロパティを記述するとjava.util.Properties.load()が失敗してしまいます。またはプロパティが取得できません。
- Javaからシェルスクリプトを起動することができません。
- ObjectStreamを用いて、ファイルのReadWriteを行う際に、Write時に、1オブジェクト毎に同一ファイルのオープン・クローズを行うと、Readする際に2オブジェクト目以降が読込めません。
- 配列から変換したListに要素を追加することができません。
- ビットシフトを行ったところ、予期せぬ数値が返ってきます。
- URLConnectionを利用してWebにアクセスしようとしたのですが、例外が発生し、InputStreamを取得することが出来ませんでした。
- DateFormat.getDateInstance()で取得したインスタンスで日付文字列をパースしたところ、ParseExceptionが発生します。
- Listのclear()を呼んでも空きヒープ領域が増えません。
- FileクラスのgetAbsolutePath()メソッドを実行しても、絶対パスが返って来ません。
- java.util.Timerクラスに登録したTimerTaskの1つを、Thread.sleep()メソッドで停止させたところ、他のTimerTaskが実行されなくなってしまいました。
- java.util.TimerTaskをcancel()していないのにIllegalStateException("Timer already cancelled.")が発生してしまいます。
- Runtime#exec(String) で IOException が発生して、外部コマンドが実行できません。
- Runtime#exec()を使用すると、OutOfMemoryErrorが発生することがあります。起動しようとしている外部プログラムはごく小さなもので、それに対して十分な空きメモリはあります。
- java.nioを使用していると、ネットワーク切断によってCPU使用率が100%になることがあります。
- pingは通るのに、java.net.InetAddressのisReachable()がfalseになります。
- MappedByteBufferを使用していると、メモリが足りなくなります。
- Stringのmatches()メソッドを呼び出すとハング(hang)してしまったようで、反応が返ってこなくなってしまいました。
- System.getPropertyが再帰的に呼び出され、StackOverFlowになります。
- HashSetで取得した値を変更すると、HashSetで値が正しく取得できなくなります。
- getStackTrace()を頻繁に実行するとOutOfMemoryErrorが発生します。
- 一定周期での処理を行うプログラムを作成したのですが、指定周期どおりに動いてくれません。
- オブジェクトの重複チェックに時間がかかってしまいます。
3. javacに関する問題
4. クラスパスに関する問題
5. Windows固有と思われる問題
- Windows98上で、JDialogを閉じる時に一般保護違反例外が発生してしまいます。
- 一部機種(またはグラフィックスチップ?詳細は未調査)において、Swingコンポーネントの再描画が正しく行われません。
- Windows98において、Runtime.exec()により起動したjavawプロセスがコンソール出力を行っていた場合、一定量の文字を出力後にプログラムの動作が停止してしまいます。(javaの場合は停止しない)
- JTextFiledでIME2000を使用して文字を入力中にF5キーを押すとコンソールに大量のトレースが出力されてしまいます。
- 2つ以上のFEPが存在する場合、VMの起動に失敗してしまいます。
- Win98環境でATOKを使用しているときにJavaAP起動時にVMでエラーが発生して起動しないのですが。
- Windows VistaでTomcatが動作しません。
6. Linux/UNIX固有と思われる問題
- GUIのないプログラムなのにコンソールから実行するとAWT関連の例外が発生して実行できません。
- クラスファイルは完全なのにClassFormatErrorが発生してしまいます。
- JavaをインストールしたがJavaのバージョンが変わりません。
- VMのcoreをdbxで確認したいがdbxでELFイメージでないと言われ確認できません。
- Solarisにおいて、LANG=ja環境でスタックトレースを出力すると文字化けします。
- JDK1.4.1_01をインストールしたSolaris8でプログラムを実行したところ、正常に起動しませんでした。
- 特定のLinux上でプログラムを動かしているとHotSpot Virtual Machine Errorが発生します。
- 長期稼動しているJavaプロセスでjstatが動かなくなります。
7. スレッドに関する問題
8. Swing/AWTに関する問題
- 画面を(比較的速いスピードで)閉じたり開いたりしていると、その画面に設定されていたフォーカスが消えてしまいます。
- JFrameをsetEnabled(false)で使用不可にしても、その中に含まれるコンポーネントは使用できてしまいます。
- JButtonのフォーカスが外れていても、Enterキーを押すと、そのボタンが押されたような動きをしてしまいます。
- JTextField(JPasswordField)で、スクロールが開始される文字数の文字を入力すると、カーソル(キャレット)が残ったままスクロールされてしまいます。
- PrintJobを使用して画面印刷を試みると、うまく印刷できない(サイズが調整できない)ことがあります。
- JMenuBarの要素が空の画面で、F10キーを押下すると、ArrayIndexOutOfBoundsExceptionが発生してしまいます。
- ダイアログメッセージを改行させたい場合、JOptionPaneに改行コードの含まれる文字列を直接設定してしまうと、改行コードが文字化けして表示されてしまいます。
- ポップアップメニュー(カスケードメニュー)を表示させてから一度選択すると、次回選択時にNullPointerExceptionを出力し、正常に動作しません。
- モーダレスダイアログを表示すると、親画面が操作不能になってしまう場合があります。
- モーダルダイアログを表示すると、一部の画面だけでなく、表示中の全画面が操作不能になってしまいます。
- Solarisにて、WindowsスタイルのLook&Feelが正しく設定できません。
- JTreeのToolTipText表示処理にて、NullPointerExceptionが発生します。
- JTextFieldで入力フィールド長を超える文字入力を行うと、既存文字が上書きされてしまいます。
- JTextAreaにフォーカスがある状態で、TABキーによるコンポーネント間のフォーカス遷移ができません。
- JFrameのsetBackground()で背景色を設定しても、フレームの背景色が変更されません。
- JLabelのsetBackground()を利用して背景色を設定しても、ラベルの背景色が変更されません。
- フルスクリーン画面を表示する方法が分かりません。
- Java2Dを使用したアプリケーションで、HotSpotエラーが発生してしまいます。
- Swingでsleep時間を設定しても、sleepされずに描画されます。
9. RMIに関する問題
- RMIサーバオブジェクトがクライアントからのリクエスト処理中に、OutOfMemoryErrorを引き起こしてもサーバプロセスがEXITしません。
- リモートメソッド呼び出しにおいて、ローカルで身に覚えのないRuntimeExceptionやOutOfMemoryErrorが発生してしまいます。
- Naming.bind()、Naming.lookup()でNullPointerExceptionが発生してしまいます。
- Naming.bind()の引数に他のホストをあらわすURLを渡すと、rmiregistryを正しく実行しているのに例外が発生してbind()できません。
- WebLogicでrmiを動かす際にWebLogicのクラスが無いと表示されます。
- RMI通信時に、jarファイルの中に該当クラスが含まれているにもかかわらず、クラスローディングに失敗し、java.rmi.UnmarshalExceptionが発生してしまいます。
- JDK1.3で動作していたプログラムをJDK1.4で実行したところ、Naming.bind()で例外が発生しました。
- JMSを利用しているプロジェクトにて、何度もフルGCが実行されてしまいます。
- RMI通信でSSLの設定を行ったところ、Memoryが大量に消費され、アプリケーションが停止します。
10. ソケットに関する問題
11. JDBCに関する問題
- JDBCを使用してSQLを実行した結果のresultSetからgetObjectメソッドを使用して値を取り出す場合、実際の戻り値の型はJDBCドライバによって異なってしまいます。
- 同じConnectionから、Statementを使用したSQL文の発行はネストして行えません。
- JDBCを使用して、SQLのUpdate文やInsert文を使用する際、日付・時刻の投入方法がわかりません。
- ResultSetに対してgetObject()でフィールド値を取得しようとしても、nullしか返ってきません。
- JDBCのDatabaseMetaDataを使用したとき、テーブル情報が取得できません。
- 「SELECT * FROM テーブル名」を利用して取得したResultSetを更新する事ができません。
- OracleのJDBCドライバで、ORDER BYを利用して更新可能ResultSetを取得する方法はありませんか。
- ResultSetMetaData.getTableName()でテーブル名を取得することができません。
- JDBCを使用して、ある列のフィールド長を取得する方法はありませんか。
- 短時間に連続してデータベースの更新を行うとNullPointerExceptionが発生します。
- Oracle9i用のドライバを使用してバッチ処理を行うと意図した結果が得られません。
- PostgreSQL Ver7.4.2でselect処理中のinsert処理が遅延してしまいます。
- Jakarta Commons DBCPを利用しているとメモリ使用量が増加してしまいます。
- Jakarta Commons DBCPを利用するとパフォーマンスが落ちてしまいます。
12. JNIに関する問題
13. Servletに関する問題
- サーブレットを再起動せずにクラスファイルを変更する(自動ロード機能を使用する)と、JSPファイルにエラーメッセージが出力されてしまいます。
- 同PCで複数枚数のブラウザを開いてセッション管理を行う場合に、IE(5.0)を用いて2枚ブラウザを開き、1枚目操作→2枚目操作→1枚目でボタンによるPOST操作を行い、出力するHTMLファイルでJavaScriptのhistory.back()を使用すると、1枚目ブラウザの内容が2枚目ブラウザの内容と同じになってしまいます。
- ブラウザ表示時に文字化けが発生してしまいます。
- JavaScriptのsetTimeout()を使用して、一定間隔でsubmit()してdoGet()やdoPost()を呼んでも、ブラウザ表示内容が更新されません(InternetExplorer 5.0にて発生) 。
- Cookieに入れた文字が文字化けしてしまいます。
- Servletを実行し、ブラウザで表示させたところ、web.xmlのinit-paramタグで設定した日本語文字列が、文字化けを起こしてしまいます。
- JSPを表示させると、ブラウザの表示が途中で途切れることがあります。
- Strutsの正規表現による入力チェックにて、「&」が使えません。
14. プロセスに関する問題
15. Java3Dに関する問題
16. 文字コードに関する問題
- データベースPostgreSQL6.4.2の検索結果が文字化けしてしまいます。
- Servlet,JSPへPOST及びGETで入力した文字が文字化けしてしまいます。
- propertiesファイルに2バイト文字のプロパティを記述するとjava.util.Properties.load()が失敗してしまいます。
- サーバSolaris、クライアントWindowsの場合、文字コード変換に失敗し、全角ハイフンなどが?と表示されてしまいます。
- XMLファイルをパースする際に、エラーが発生してしまいます。
- ファイルから読み込んだ文字列が文字化けしてしまいます。
- Cookieに入れた文字が文字化けしてしまいます。
- InputStreamReaderをデフォルトコンストラクタで初期化し、UTF-8の文字列を読み込んだところ、マルチバイト文字が化けてしまいました。
17. 開発環境に関する問題
18. CORBAに関する問題
19. その他の問題
20. eclipseに関する問題
21. SWT/JFaceに関する問題
- パスワードフィールドを利用したい。
- リストの項目数を変更したい。
- 「新しいウィンドウで開く」をフックしたい。
- IMEのON/OFFを自動で行いたい。
- ちらつきを回避するためにダブルバッファリングを利用したい。
- テーブル描画を高速にしたい。
- ウィンドウの左上のアイコンを独自のアイコン画像へ変更したい。
- テーブル列幅を自動調整したい。
- SWT上でグラフを作成したい。
- 図形描画に使用するための、高度な機能を備えたクラスやライブラリはありませんか?
- ステータスバーを実現したい。
- メニュー項目に対するキーボードショートカットを設定したい。
- ツリーの展開状態を保持したい。
- ツリーを指定階層分だけ展開して初期表示したい。
- Imageオブジェクトの管理を行いたい。
- テーブルをヘッダクリックによってソートしたい。
- EclipseのJFace設定情報を再利用したい。
22. Seasar2に関する問題
23. Java VMに関する問題
- VM HotSpotエラーメッセージのErrorIDの読み方が分かりません。
- -verbose:gcで出力される情報がたりません。
- tomcatの起動シェルでは起動オプションを指定していないのに、環境ごとに最大ヒープサイズが変わります。
- ヒープ領域のメモリを殆ど使用していないのにFull GCに非常に時間がかかってしまいます。
- メモリを大量確保しないアプリケーションでOutOfMemoryErrorが発生します。
- メモリが不足していないのに、OutOfMemoryErrorが発生します。
- -XX:+PrintClassHistogramを指定しても、ヒストグラムが表示されません。
- -XX:+HeapDumpOnOutOfMemoryErrorを指定すると、JVMが起動できません。
- jstack, jmapコマンドで情報が取得できません。
コラム
注意:本文書の内容に誤りがあり、またこの文書によって不利益を被っても、
Acroquest Technology 株式会社は一切関知いたしません。
原因別Index
- Java トラブルシューティングについて
- 標準APIの利用方法に関する問題
- javacに関する問題
- クラスパスに関する問題
- Windows固有と思われる問題
- Linux/UNIX固有と思われる問題
- スレッドに関する問題
- Swing/AWTに関する問題
- RMIに関する問題
- ソケットに関する問題
- JDBCに関する問題
- JNIに関する問題
- Servletに関する問題
- プロセスに関する問題
- Java3Dに関する問題
- 文字コードに関する問題
- 開発環境に関する問題
- CORBAに関する問題
- その他の問題
- eclipseに関する問題
- SWT/JFaceに関する問題
- Seasar2に関する問題
- Java VMに関する問題
- 高度な問題