New I/O バッファとは? 低レベル I/O が望ましい場合、例えば OpenGL ライブラリを利用する時にも NIO Buffer は利用されます。ここでは具体的な利用例と、それぞれのコードの意味をみてみましょう。 NIO バッファにはダイレクトバッファ (direct buffer) と非ダイレクトバッファ (non-direct buffer) があります。 ダイレクトバッファでは、 Java VM は可能な限りネイティブ I/O 操作を実行するよう試みます。 これによって、中間のバッファの割り当てを抑えます。 allocateDirect メソッド等で割り当てたバッファは ダイレクトバッファになります。通常ダイレクトバッファの割り当て、解放のコストは、そうではない場合より高くなります。 このため短時間で割り当て、解放を繰り返すような操作には向きません。サイズが大きく、生存時間の
![New I/O バッファの使い方 - Java 入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/6bbc2f008c2940d0278afdac6076f7528e51cb49/height=288;version=1;width=512/https%3A%2F%2Fjava.keicode.com%2Fimg%2Fog-image-1.png)