APP下载

Java NIO 与IO 性能对比分析

2021-04-23赵思远

软件导刊 2021年4期
关键词:模型

赵思远

(北京工业大学软件学院,北京 100124)

0 引言

随着互联网的蓬勃发展,网络用户激增[1],很多应用都服务于亿级以上数量级的用户。如此庞大的用户基数导致在高峰时期可达到千万以上的并发访问量,如何处理高并发流量,以保证应用能正常使用,成为企业迫切需要解决的问题[2]。

Java 是Web 应用中广泛采用的一种语言[3],JDK 中提供了NIO(也称为New IO),NIO 为非阻塞IO[4],即IO 过程不会阻塞程序运行,使得CPU 不会因为等待IO 而白白浪费计算资源。使用NIO 编程,并采用适当的模型,可以充分发挥CPU 的性能,提高服务器的并发处理能力。

1 相关工作

罗振兴等[5]在实践的基础上分析Java NIO 的特性,采用事件驱动、非阻塞的IO 多路复用、多线程[6]、安全Cookies、SSL、高速缓存等多种技术,设计并实现了构架在PKI上,基于角色访问控制策略的安全访问控制服务器,但其研究重点在于应用系统的整体设计与实现,对其中的Java服务器及其模型并没有进行清晰、明确的描述;袁劲松等[7]对网络应用中的阻塞通信与非阻塞通信工作机制及实现等问题进行研究与探讨,提出系统实现阻塞与非阻塞通信的方法和步骤,分别给出基于阻塞与非阻塞IO 开发高性能网络应用程序的具体实例,但该研究局限在代码层面,且仅实现了基本的非阻塞服务器,对于高并发、长连接等实际应用中会出现的情况未进行讨论;钱宇虹[8]对java.io包进行简要介绍,指出导致I/O 性能低下的根本原因,提出改进Java IO 性能的策略,但该策略仅针对Java 的传统IO方式,未考虑到在NIO 上的应用;……

登录APP查看全文

猜你喜欢

模型
一半模型
一种去中心化的域名服务本地化模型
适用于BDS-3 PPP的随机模型
函数模型及应用
p150Glued在帕金森病模型中的表达及分布
函数模型及应用
重尾非线性自回归模型自加权M-估计的渐近分布
3D打印中的模型分割与打包
FLUKA几何模型到CAD几何模型转换方法初步研究
一个相似模型的应用