我用客户端看完发现了printstacktrace的位置会随机变化,当时就特别纳闷,结果一上来看问答不只我一人有这个问题,不过我仔细想了一下,猜测是不是和线程有关,因为线程的随机性,所以导致这个现象的出现
e.printStackTrace(),是将出现的异常信息写入标准输出流中(注意,不是打印在控制台中。),标准输出是在缓存中的,不会马上就打印出来显示在屏幕,需要在输出流缓存中积累多几个字符,才能打印出来(我们可以使用flush函数把缓冲区的数据强行打印出来!)。
正是要堆缓存的缘故,不知道程序在运行使得输出流缓存堆满的具体时间,会让各位觉得,这输出的出现时随机的。
我也不懂