有竞争力的程序员在Java中使用哪种类型的控制台println?

时间:2018-08-24 12:59:21

标签: java performance

哪种是最快的写入System.out的方式?
到目前为止,我知道3种方式:
1.经典的:

for (int i = 0; i < 100000; i++) {
    System.out.println( i );
}

2。使用StringBuilder

StringBuilder sb = new StringBuilder();
for (int i = 0; i < 100000; i++) {
    sb.append(i).append("\n");
}
System.out.print(sb.toString());

3。将System.out包装在缓冲区中,例如:

OutputStream out = new BufferedOutputStream(System.out);
for (int i = 0; i < 100000; i++) {
    out.write((i + "\n").getBytes());
}
out.flush();  

有没有比所有这些方法更有效的方法?

0 个答案:

没有答案