はじめに 標準のJavaには欠けているものがあり、リアルタイムアプリケーションで使用するのに理想的な言語とは言えません(4ページ目補足解説1「リアルタイムとは」を参照)。1つを挙げるなら、ガベージコレクタ(古いオブジェクトを回収してヒープ領域を解放する内部JVMスレッド)は不測のタイミングで動作し、その実行時間も不特定であるため、アプリケーションの処理にレイテンシと不確定性が生じます。 しかし、標準Javaアプリケーションで問題となるのはガベージコレクタだけではありません。たとえばJavaコードを実行中のコンピュータに合わせて最適化するjust-in-time(JIT)コンパイラはいつでも呼び出し可能であり、コードが最適化済み(JITコンパイル済み)の場合でも呼び出される可能性があります。 また、一般にJava SE(Java Platform, Standard Edition)では、コ