私はNIOを始めたばかりで、「ブロックベースの送信は一般的にストリームベースの送信よりも効果的です」という記事を見つけました。これは、read(ByteBuffer) がブロックベースの転送であり、read(byte[]) がストリームベースの転送であることを意味します。
2 つの方法の内部的な違いを知りたいです。
ps:ブロックベースの転送はバイト配列を転送し、ストリームベースの転送はバイトを 1 つずつ転送していると聞きました。java.io.FileInputStream.read(byte[]) もバイト配列を転送するため、間違っていると思います。