Netty权威指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 Java的I/O演进之路

Java是由Sun Microsystems公司在1995年首先发布的编程语言和计算平台。这项基础技术支持最新的程序,包括实用程序、游戏和业务应用程序。Java在世界各地的8.5亿多台个人计算机和数十亿套设备上运行着,其中包括移动设备和电视设备。

Java之所以能够得到如此广泛的应用,除了摆脱硬件平台的依赖具有“一次编写、到处运行”的平台无关性特性之外,另一个重要原因是:其丰富而强大的类库以及众多第三方开源类库使得基于Java语言的开发更加简单和便捷。

但是,对于一些经验丰富的程序员来说,Java的一些类库在早期设计中功能并不完善或者存在一些缺陷,其中最令人恼火的就是基于同步I/O的Socket通信类库,直到2002年2月13日JDK1.4 Merlin的发布,Java才第一次支持非阻塞I/O,这个类库的提供为JDK的通信模型带来了翻天覆地的变化。

在开始学习Netty之前,我们首先对UNIX系统常用的I/O模型进行介绍,然后对Java的I/O历史演进进行简单说明。通过本章节的学习,希望读者对同步和异步I/O以及Java的I/O类库发展有个直观的了解,方便后续章节的学习。如果你已经熟练NIO编程或者从事过UNIX网络编程,希望直接学习Java的NIO和Netty,那就可以直接跳到第2章进行学习。

本章主要内容包括:

◎ I/O基础入门

◎ Java的I/O演进