netty
wowoToffee
这个作者很懒,什么都没留下…
展开
-
NIO学习笔记 (1) -- 入门
NIO (1)入门1. I/O 和 NIO的主要区别IONIO面向流面向缓冲阻塞IO非阻塞IO无选择器2. 面向流与面向缓冲 Java NIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。java IO面向流就意味每次都是从流中读取多个字节(字符最后也会转换为字节)。NIO中的Buffer 是一个对象, 它包含一些要写入或者...原创 2019-06-18 22:28:26 · 95 阅读 · 0 评论 -
NIO学习笔记(2)-- Buffer的浅拷贝和深拷贝
NIO学习笔记(2)-- Buffer的浅拷贝和深拷贝1. Buffer的7种类型 ByteBuffer, CharBuffer, ShortBuffer, IntBuffer, LongBuffer, FloatBuffer, DoubleBuffer由于ByteBuffer类型比较特殊,他能其他的所有类型(理解起来也不复杂,因为底层存的类型就是Byte)public class Ni...原创 2019-06-19 22:11:02 · 2906 阅读 · 0 评论 -
NIO学习笔记(3)-- 零拷贝
NIO学习笔记(3)-- 零拷贝1. 分析传统IO是怎么网络传输File file = new File("index.html");RandomAccessFile raf = new RandomAccessFile(file, "rw");byte[] arr = new byte[(int) file.length()];raf.read(arr);Socket socke...原创 2019-06-20 21:45:18 · 247 阅读 · 0 评论 -
NIO学习笔记(4) -- Scatter/Gather
NIO学习笔记(4) – Scatter/Gather 分散(scatter)从 Channel 中读取是指在读操作时将读取的数据写入多个 buffer 中。因此,Channel 将从 Channel 中读取的数据 “分散(scatter)” 到多个 Buffer 中。 聚集(gather)写入 Channel 是指在写操作时将多个 buffer 的数据写入同一个 Channel,因此,C...原创 2019-06-20 23:01:17 · 121 阅读 · 0 评论 -
NIO学习笔记(5) -- Selector
NIO学习笔记(5) – Selector Selector 允许一个单一的线程来操作多个 Channel. 如果我们的应用程序中使用了多个 Channel, 那么使用 Selector 很方便的实现这样的目的, 但是因为在一个线程中使用了多个 Channel, 因此也会造成了每个 Channel 传输效率的降低.为了使用 Selector, 我们首先需要将 Channel 注册到 Sele...原创 2019-06-23 20:05:32 · 110 阅读 · 0 评论