netty权威指南
the_conquer_zzy
计算机科学与技术专业
展开
-
java I/O演进之路
java1.4之前,java 对I/O支持并不完善,主要问题是:没有数据缓冲区,I/O性能存在问题没有c/c++ 中channel概念,只有输入输出流同步阻塞I/O通信(BIO),通常会导致通信线程被长时间阻塞支持的字符集有限,硬件可移植性不好java 1.4修复了以上问题包括:进行异步I/O操作的缓冲区 ByteBuffer进行异步I/O操作的Pipe进行I/O操作(同步或...原创 2018-10-15 11:18:21 · 198 阅读 · 0 评论 -
UNIX网络5种I/O模型
阻塞I/O 模型, 进程空间调用recvfrom时,系统调用直到数据包到达且被复制到应用进程的缓冲区中或者发生错误时才返回,在此期间一直会等待,进程在从调用recvfrom开始到它返回的整段时间内都是被阻塞的,因此被称为阻塞I/O模型。非阻塞I/O模型: recvfrom从应用层到内核的时候,如果该缓冲区没有数据的话,就直接返回一个EWOULDBLOCK错误,一般都对非阻塞I/O模型进行轮询检...原创 2018-10-15 11:55:20 · 169 阅读 · 0 评论 -
BIO编程
传统同步阻塞模型开发中,ServerSocket负责绑定IP,启动监听端口,意思就是说listen阶段就可以连接了TimeServer 源码分析import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;/** * Created by zzy on 18-10-16. */publ...原创 2018-10-16 21:19:02 · 148 阅读 · 0 评论 -
伪NIO编程,利用线程池改进BIO
利用线程池改进请求和线程的1:1所带来的大量连接所带来的大量线程创建问题。伪NIO TimeServer源码public class MockTimeServer { public static void main(String[] args){ int port=9001; if(args!=null&&args.length>...原创 2018-10-17 17:31:23 · 353 阅读 · 0 评论