Fork me on GitHub
摘要: 1. 2. 3. 4. 5. 6. 7. 阅读全文
posted @ 2020-06-07 11:45 亲爸爸 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 1.什么是零拷贝 一种避免 CPU 将数据从一块存储拷贝到另外一块存储的技术。针对操作系统中的设备驱动程序、文件系统以及网络协议堆栈而出现的各种零拷贝技术极大地提升了特定应用程序的性能,并且使得这些应用程序可以更加有效地利用系统资源。这种性能的提升就是通过在数据拷贝进行的同时,允许 CPU 执行其他 阅读全文
posted @ 2020-06-07 10:43 亲爸爸 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 1.服务端 public class GroupChatServer { private Selector selector; private ServerSocketChannel listenChannel; private static final int PORT = 6677; //初始化 阅读全文
posted @ 2020-06-07 09:50 亲爸爸 阅读(289) 评论(0) 推荐(1) 编辑
摘要: 1.简单介绍 选择器提供选择执行已经就绪的任务的能力.从底层来看,Selector提供了询问通道是否已经准备好执行每个I/O操作的能力。Selector 允许单线程处理多个Channel。仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通 阅读全文
posted @ 2020-06-07 01:23 亲爸爸 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 1.基本介绍 Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。 2.ServerSocketChannel 的创建 阅读全文
posted @ 2020-06-07 00:41 亲爸爸 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 1.简单介绍 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。 2.模型图 3.Buffer缓冲区 a.Buffer在Java NIO的作用 在Java NIO中,缓冲区的作用也是用来临时存储数据, 阅读全文
posted @ 2020-06-07 00:21 亲爸爸 阅读(226) 评论(0) 推荐(0) 编辑