New I/O バッファとは? 低レベル I/O が望ましい場合、例えば OpenGL ライブラリを利用する時にも NIO Buffer は利用されます。ここでは具体的な利用例と、それぞれのコードの意味をみてみましょう。 NIO バッファにはダイレクトバッファ (direct buffer) と非ダイレクトバッファ (non-direct buffer) があります。 ダイレクトバッファでは、 Java VM は可能な限りネイティブ I/O 操作を実行するよう試みます。 これによって、中間のバッファの割り当てを抑えます。 allocateDirect メソッド等で割り当てたバッファは ダイレクトバッファになります。通常ダイレクトバッファの割り当て、解放のコストは、そうではない場合より高くなります。 このため短時間で割り当て、解放を繰り返すような操作には向きません。サイズが大きく、生存時間の