为什么在Eclipse中,System.err比System.out慢?

4
这段代码为什么会出现以下问题:

可能是重复问题:
Java: System.out.println 和 System.err.println 的顺序问题

    System.err.println("err");
    System.out.println("out");

打印。
out
err

在Eclipse控制台上?
更新
如果我从命令行运行它,相同的代码以正确的顺序打印。
更新
如果我将其修复为
    System.err.println("err");
    Thread.sleep(5);
    System.out.println("out");

它在Eclipse中也可以正确打印

1个回答

4

但是println也调用flush()。请参见PrintStream.println。 - Evgeniy Dorofeev
我并不相信你(指Eclipse)的println()实现确实调用了flush() - Matt Ball
是的。我进行了调试,它到达了java.io.PrintStream.newLine(),在那里调用flush()。 - Evgeniy Dorofeev
看我的编辑。显然这只是一个长期存在的Eclipse bug。 - Matt Ball

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接