java.nioのBufferは速い?2010-12-10java.nioのBufferは速い?JAVAjava.nioのByteBufferについてちょっと調べてみた。ByteBufferにはダイレクトバッファーと非ダイレクトバッファーの2種類がある。ダイレクトバッファーはJVMの外の領域にメモリを確保し、非ダイレクトバッファーはメモリをJVM内に取る。話ではダイレクトバッファーでも補助配列が使えるという事だったが、調べてみたところそれは嘘であった。JavaDocからは見えないがByteBufferは実は抽象クラスでそのインスタンスを作成する事はできない。ダイレクトバッファーか非ダイレクトバッファーかで作成されるインスタンスのクラスが違う。array()関数で返される補助配列というのは、補助配列と呼ぶにはお粗末なHeapByteBufferのバッファー部分本体だ。