题目:下面输出顺序如何?
public class TestCodeSeg
{
static
{
System.out.println("1");
}
{
System.out.println("2");
}
public TestCodeSeg()
{
System.err.println("3");
}
public static void main(String[] args)
{
new TestCodeSeg();
}
}
结果:1,2顺序不变,3输出不定位置不定。
原因:System.out.println输出有缓存,System.err.println是立即输出,可能在输出1或2,还没有输出换行时输出3。