一、System.out.println源码
1、System是一个final类,调用native方法registerNatives(),注册本地方法,实现对象初始化

2、out是System中的一个static的PrintStream对象,
err也是static的PrintStream对象,
in是static的InputStream对象



3、调用PrintStream对象out的println方法,其中println方法如下:



4、调用write方法,将输出信息写入BufferedWriter(字符缓冲区,输入流),默认大小为8192字符,写完之后,flushBuffer,缓冲区flushBuffer之后,OutputStreamWriter(字符输出流)对象charout,charOut.flushBuffer(),刷新输出流,在控制台输出内容。最后out.flush,刷新整个输出流。