7.8 NIO基础 (Java 7+) 7.8 NIO基础 (Java 7+) 7.8.1 NIO概述与背景 传统的Java I/O(BIO - Blocking I/O)是基于流(Stream)的模型,且大部分操作是阻塞的。这意味着当一个线程执行I/O操作时,它会一直等待直到数据可用或操作完成,期间无法执行其他任务。这种“一连接一线程”的模型在处理大量并发连接时,会导致线程数量剧增,带来巨大的上下文切换开销和资源消耗,从而影响系统性能和可伸缩性。 为了解决BIO的这些局限性,Java 1.4引入了NIO(New I/O),它提供了非阻塞I/O的能力。NIO的核心设计理念是“通道(Channel)”和“缓冲区(Buffer)”,以及“选择器(Selector)”实现多路复用。