每日一博 | 透过现象看 Java AIO 的本质
1.前言 关于Java BIO、NIO、AIO的区别和原理,这样的文章非常的多的,但主要还是在BIO和NIO这两者之间讨论,而关于AIO这样的文章就少之又少了,很多只是介绍了一下概念和代码示例。 在了解AIO时,有注意到以下几个现象: 1、 2011年Java 7发布,里面增加了AIO称之为异步IO的编程模型,但已经过去了近12年,平时使用的开发框架中间件,还是以NIO为主,例如网络框架Netty、Mina,Web容器Tomcat、Undertow。 2、 Java AIO又称为NIO 2.0,难道它也是基于NIO来实现的? 3、 Netty舍去了AIO的支持。https://github.com/netty/netty/issues/2515 4、 AIO看起来只是解决了有无,发布了个寂寞。 这几个现象不免会令很多人心存疑惑,所以决定写这篇文章时,不想简单的把AIO的概念再复述一遍,而是要透过现象, 如何分析、思考和理解Java AIO的本质。 2.什么是异步 2.1 我们所了解的异步 AIO的A是Asynchronous异步的意思,在了解AIO的原理之前,我们先理清一下“异步”到底...