
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 · 273 阅读 · 0 评论 -
UNIX网络5种I/O模型
阻塞I/O 模型, 进程空间调用recvfrom时,系统调用直到数据包到达且被复制到应用进程的缓冲区中或者发生错误时才返回,在此期间一直会等待,进程在从调用recvfrom开始到它返回的整段时间内都是被阻塞的,因此被称为阻塞I/O模型。 非阻塞I/O模型: recvfrom从应用层到内核的时候,如果该缓冲区没有数据的话,就直接返回一个EWOULDBLOCK错误,一般都对非阻塞I/O模型进行轮询检...原创 2018-10-15 11:55:20 · 219 阅读 · 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 · 189 阅读 · 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 · 398 阅读 · 0 评论