Netty 源码分析(一):引言和 Java NIO 介绍
为什么要介绍 Netty 如今优秀的开源项目非常多,仅在 Java 服务器端开发领域,优秀的开源项目就不胜枚举。比如从十年前就开始流行到现在依旧十分活跃的 Spring Framework,如今已经发展为一个覆盖服务器端、大数据等多个领域的平台级开源项目。还有早年间的 MVC 框架、ORM 框架,到现在涉及各个服务器开发领域的开源技术。 但这次我要介绍的是 Netty 这个网络 IO 框架,而非 Spring 这样的流行项目。原因在于,Netty 这样的框架所实现的功能相比 Spring Framework 来说来说更为基础。因为对于服务器端开发来说,Spring Framework 核心的 IoC 和 AOP 技术其实并不是必须的。当然没有这两个技术,开发复杂的项目会很困难,但这两者只是充分而非必要的条件。但 Netty 这样的技术其实对于服务器端开发来说是必须的。 从产品的角度讲,没有像 Netty 这样的网络 IO 框架,就不会有优秀的 Web 服务器、应用服务器等等的平台,而没有这些平台,仅靠 IoC 和 AOP 等技术是不可能产生优秀的软件产品。一个服务器端软件,即便没有直接使用 Netty,那往往也是间接地使用了 Netty 这样的框架。所以 Netty 这样的框架对于一个优秀的服务器端项目或产品来说十分重要。 同时,因为 Netty 不仅被广泛地直接使用