码迷,mamicode.com
首页 > 编程语言 > 详细

java对比IO和NIO的文件读写性能测试

时间:2014-11-11 10:55:26      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:java   io   nio   文件读写   性能   

原文:java对比IO和NIO的文件读写性能测试

源代码下载地址:http://www.zuidaima.com/share/1550463508466688.htm

1. NIO采用更接近操作系统执行IO的方式:通道和缓存器;顾名思义,数据源的数据由缓存器通过通道进行传输。 2. 在JDK5之后,原始IO系统底层用NIO进行了优化,这可以通过sun公布的源码中找到,但是,NIO系统性还是比IO强。 3. 在稍微研究了IO源码以及部分sun源码,我觉得IO系统的性能瓶颈主要是由于原始的IO架构因素导致。原始的IO系统使用适配器模式,在JDK开发之初貌似是一个很不错的想法,但随着适配器嵌套的越来越多,IO的使用不但让人很烦,而且会影响性能,因为动态实现肯定是要降低性能的。 4. 为了能够尽量准确的验证我的想法,在IO部分的代码也是显示的用缓冲器进行读写。 5. 本地测试:50M文件:IO耗时1031ms,NIO耗时640ms;500M文件:IO耗时18900ms,NIO耗时13500ms。它们的时间差并不会因为文件大小的改变而产生剧烈变化,这说明不管是NIO还是IO在底层处理数据流应该是相似的,导致IO性能约束的是它原始的适配器模型的架构。 主干部分代码: 1.IO系统 bubuko.com,布布扣 2.NIO系统 bubuko.com,布布扣



java对比IO和NIO的文件读写性能测试

标签:java   io   nio   文件读写   性能   

原文地址:http://blog.csdn.net/springmvc_springdata/article/details/41007313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!