blog已经转移至github,大家请访问 http://qaseven.github.io/
在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来进行频繁的读写操作,都将导致进程因频繁读写外存而降低速度.如下为一个对比实验。
测试文件为一个大小为1253244字节的文件。测试结果:
说明读数据无误。删去其中的数据处理部分。
测试结果:
由此可见,将文件部分或者全部映射到内存后进行读写,速度将提高很多。
这是因为内存映射文件首先将外存上的文件映射到内存中的一块连续区域,被当成一个字节数组进行处理,读写操作直接对内存进行操作,而后再将内存区域重新映射到外存文件,这就节省了中间频繁的对外存进行读写的时间,大大降低了读写时间
posted on 2012-06-25 09:45 顺其自然EVO 阅读(234) 评论(0) 编辑 收藏
Powered by: BlogJava Copyright © 顺其自然EVO