I/O模型
Java 共支持3种网络编程模型/IO模式: BIO,NIO,AIO
Java BIO
同步并阻塞(传统阻塞型)
服务器实现模式为一个连接一个线程,也就是客户端有连接请求的时候,服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销。
如果客户端很多,那么服务器就要启很多线程,每个线程都要占用一定的内存,所以服务器肯定是承受不了的
-
程序发出一个 I/O 请求(例如从网络或文件中读取数据);
-
线程被阻塞,直到数据读取完成;
-
线程才继续往下执行。
Java NIO
同步非阻塞
Java AIO
异步非阻塞