APP下载

NIO高性能技术在Java网络通信中的应用研究

2016-12-01张健立集宁师范学院计算机系内蒙古乌兰察布012000

山东工业技术 2016年11期

张健立(集宁师范学院 计算机系,内蒙古 乌兰察布 012000)



NIO高性能技术在Java网络通信中的应用研究

张健立
(集宁师范学院计算机系,内蒙古乌兰察布012000)

摘要:Java平台提供了比较丰富的标准类I/O库来满足一般应用场景下的通信需求,但对于大量的并发通信请求,就必须使用一定的技术手段来解决系统面临的通信瓶颈。到了JDK 1.4中Java提供了新的I/O(NIO)类库,到了Java7中NIO的补充类库越发强大,很多原来需要开发人员编写的功能,在现在的类库中都有了实现。

关键词:NIO;通道;阻塞;异步通讯

1 引言

JAVA是目前比较流行的程序开发语言,在现实中大量的网络应用也采用了Java语言来开发。程序中与I/O相关的计算所花费的时间占较大比重,这其中的主要原因是在进行I/O通信时,一般需要竞争操作系统的有限资源,或是需要等待速度较慢的外部设备完成其操作,从而使I/O相关的计算所等待的时间较长。为了优化系统性能,提升I/O相关操作的性能对应用程序的整体运行性能有比较大的帮助。Java平台提供了比较丰富的标准类I/O库来满足一般应用场景下的通信需求,但对于大量的并发通信请求,就必须使用一定的技术手段来解决系统面临的通信瓶颈。到了JDK 1.4中Java提供了新的I/O(NIO)类库,到了Java7中NIO的补充类库越发强大,很多原来需要开发人员编写的功能,在现在的类库中都有了实现。

2 阻塞式通讯方式

如果要实现一个网络客户端程序,需要创建一个java.net.Socket类的对象,再连接到远程服务器。服务器端需要创建一个java.net. ServerSocket类的对象并使用其accept方法在指定端口进行监听,调用accept时会处于阻塞状态,等待客户端程序的连接请求。……

登录APP查看全文