Java的IO
2025/9/23...小于 1 分钟
Java的IO
BIO、NIO、AIO?
BIO是同步阻塞IO,一个连接一个线程,发起请求一直阻塞。一般通过连接池改善。JDK1.4 以前的唯一选择,程序简单易理解。
NIO是同步非阻塞IO,一个连接一个线程,多个连接多路复用一个线程。从JDK1.4开始,Java 提供了一系列改进的输入/输出的新特性,被统称为NIO
AIO是异步非阻塞IO,一个有效请求一个线程,IO请求后立即返回,操作结束后回调通知。JDK 7 引入了 Asynchronous I/O,是异步不阻塞的 IO。
在进行 I/O 编程中,常用到两种模式:Reactor 和 Proactor。Java 的 NIO 就是 Reactor,当有事件触发时,服务器端得到通知,进行相应的处理,完成后才通知服务端程序启动线程去处理,一般适用于连接数较多且连接时间较长的应用。