缓冲区及其操作是所有NIO的基础。 传统流IO是基于字节的,所有IO都被视为单个字节的移动;而NIO是基于块的,NIO的性能肯定优于流IO。其性能的提高主要要得益于其使用的结构更接近操作系统执行IO的方式:通道和缓冲器。我们可以把它想象成一个煤矿,通道是一个包含煤层(数据)的矿藏,而缓冲器则是派送到矿藏的卡车。卡车载满煤炭而归,我们再从卡车上获得煤炭。也就是说,我们并没有直接和通道交互;我们只是和…
在nio中和Buffer配合使用的还有Channel。Channel是一个双向通道,既可读,也可写。 Buffer的基本原理 位置(position)、容量(capactiy)、上限(limit) Buffer的相关操作 1.Buffer的创建 //从堆中分配 ByteBuffer buffer = ByteBuffer.allocate(1024); //直接内存访问 ByteBuffer bu…