ページの先頭行へ戻る
Enterprise Application Platform V1.1.0 OpenJDKユーザーズガイド
FUJITSU Software

1.6 注意事項

JDK8からJDK11への移行

JDK11への移行は、以下の「移行ガイド」を参考にしてください。

https://docs.oracle.com/javase/jp/11/migrate/index.html

JDKツール

各ツールの注意事項は、"1.2.2 JDK ツール"を参照してください。

OSの仮想メモリ管理

OSの仮想メモリー管理は、malloc()関数による仮想メモリー獲得要求を処理する際、プロセス内の各スレッドごとに、64メガバイトの大きさを1単位とした「malloc()用領域」を確保(リザーブ)します。

そのため、malloc()関数を実行(他の関数の延長でmalloc()関数が間接的に実行された場合も含む)するスレッドの数が多いプロセスを実行した場合、OSの仮想メモリー管理によるスレッド数に依存した「malloc()用領域」の確保により、同一のプログラムを実行するプロセスの場合でも、当該プロセスに対して確保される仮想メモリーが大きくなる場合があります。

ハードウェア資源の動的再構成機能

アプリケーションを実行するハードウェア環境によっては、「DR(Dynamic Reconfiguration)機能」のハードウェア資源の動的再構成機能が利用できる場合があります。

ハードウェア資源の動的再構成機能を利用する場合、以下の注意が必要です。

Exception発生時に「<<no stack trace available>>」となる場合

Javaアプリケーション実行でExceptionが発生した場合に、スタックトレースが出力されず代わりに「<<no stack trace available>>」と出力される場合があります。

これはJava VM内部でExceptionを生成する際、「スタックトレース出力の情報」を格納するためのJavaヒープが不足していることになります。

このような場合、Java VMでは、java.lang.OutOfMemoryErrorを発行しないため、Javaのヒープサイズ(メモリー割り当てプールの大きさ)を大きくするなど対策をとり、Javaヒープの空きを十分に取った上でスタックトレースを確認してください。

スタックトレースについては、"3.1 スタックトレース"を参照してください。

SwingやAWTなどを使用したGUIアプリケーションについて