Java IO 模型演进
从最早的阻塞 IO 到如今高性能网络框架 Netty,Java IO 模型的演进代表了网络编程思想的一次次革命。 一、前置知识:用户态与内核态 1.1 系统调用与上下文切换的代价 1.2 同步/异步、阻塞/非阻塞的区分 1.3 两对概念的交叉矩阵 二、BIO(Blocking IO) 2.1 ServerSocket + Socket 的工作原理 2.2 一连接一线程模型的弊端——C10K 问题 2.3 线程池的缓解——但治标不治本 2.4 BIO 的适用场景——连接数少、数据量大的场景 三、NIO(Non-blocking IO / New IO)...