system.out 和system.err的一些疑问?

看到许多大佬写关于out和err的问题,out可能会缓冲,err不会缓冲,造成输出结果不确定的情况。于是进行测试:

        System.err.println("6");
        System.out.println("7");
        System.out.println("8");``` 
    输出结果:     7
                  6
                  8
err不缓冲,理论上不应该err的输出一定在out前面吗?还是两个都有缓冲?求教大佬。

err不需要缓冲就能输出,所以他有可能在前有可能在后,可以多试几次

err不缓冲,而且位置靠前,那不是应该一定先输出吗?