println速度并不慢,而是
PrintStream由主机操作系统提供的与控制台连接的基础。
您可以自己检查:将大型文本文件转储到控制台,然后将同一文本文件输送到另一个文件:
cat largeTextFile.txtcat largeTextFile.txt > temp.txt
读取和写入与文件的大小(O(n))类似并且成正比,唯一的区别是目的地不同(控制台与文件相比)。基本上与相同
System.out。
底层操作系统操作(在控制台窗口上显示字符)很慢,因为
- 字节必须发送到控制台应用程序(应该非常快)
- 每个字符都必须使用(通常)真字体显示(这很慢,关闭抗锯齿可以提高性能,顺便说一句)
- 为了将新行添加到可见区域,可能必须滚动显示区域(最好的情况:位块传输操作,最坏的情况:重新渲染整个文本区域)



