📄 readme.txt
字号:
请运行CountTime以验证程序
程序依次创建两个文件输出实例,wr是FileWriter的实例,bwr是BufferedWriter的实例。
然后程序依次对两个文件输出实例进行大量写入,数字是num个"Hello\n",并将文件写入前后的系统时间相减得到文件写入花费的时间
由于我使用的获得系统时间的函数System.currentTimeMillis()只能精确到毫秒级,所以需要将num设置的比较大。
在我的机器上测试,当num=1000000时FileWriter的实例写入花费312ms,BufferedWriter的实例花费172ms,相差在一倍以内。
我认为其速度相差较小,是因为Java虚拟机已经从底层进行了写入优化(在使用FileWriter时会花费更少时间,而使用BufferedWriter时变化相对不是那么明显),并且Windows也有硬盘写入的缓存机制,加之硬盘本身有几MB的缓存,所以经过几层的缓存和优化,两者速度差已经不明显。假如没有这些,速度差可能至少在几十倍到上百倍。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -