IO和NIO的区别?
IO是面向字节流的, NIO是面向缓冲区的
IO是阻塞IO,NIO是非阻塞IO
缓冲区Buffer的四个核心属性
capacity: 容量,表示缓冲区最大存储数据的容量。
limit:界限,表示缓冲区可以操作数据的大小。
position:位置,表示缓冲区中正在操作数据的位置。
mark: 标记,表示记录当前position的位置。可以通过reset恢复到mark的位置。
直接缓冲区和非直接缓冲区的区别
非直接缓冲区:通过allocate()方法在jvm内存中分配缓冲区,
直接缓冲区:通过allocateDirect()方法将缓冲区建立在物理内存中。