2
IO模型
IO模型其实简单理解就是使用不同的通道进行接收和发送数据 ,目前JAVA总共支持三种IO模型,分别是BIO、NIO、AIO
3
IO概念区分
同步和异步概念
同步:同步就是发起一个请求后...白话文理解:还是公交车的例子,不过这次换成了驾驶员,驾驶员没到点之前不会发送公交车,但是驾驶员可以在到点之前做些其他的事情,例如来一把紧张刺激的王者荣耀等
同步阻塞和非同步阻塞以及异步阻塞和异步非阻塞概念...这种IO模型是对上一个模型的优化,当一个新的连接被接收之后,会获取到当前的连接的socket,然后交给一个新的线程去处理,而主线程还是会继续接收新的连接,这样就能够解决同一时间只能处理一个新连接的问题,...最后来一张BIO、 NIO、 AIO 图对比:
?
为什么Netty使用NIO而不是AIO?...在Linux系统上,AIO的底层实现仍使用Epoll,没有很好实现AIO,因此在性能上没有明显的优势,而且被JDK封装了一层不容易深度优化,Linux上AIO还不够成熟。