BIO
这是传统的IO 处理模型,无论是客户端还是服务端在处理读写请求之前,都会进行阻塞。这样做会导致并发数降低,线程不能高效利用,但是是可靠的。
NIO
为了解决这个问题,java 在1.4 之后增加了NIO,该模式基于一个#多路复用选择器#检测状态连接,再通知线程去处理,从而达到非阻塞的目的,支持更多并发。
压力测试对比 BIO 和 NIO
如何测试?我们以BIO 的模式启用一个web服务,进行压测,再以NIO 的模式启动一个web服务进行压测,对比结果
压测结果: BIO 150 并发 50 个 工作线程 NIO 150 并发 50 个 工作线程 为什么是这样呢?