Java System
2016-03-30 17:08
381 查看
System.out
System.out的类型为PrintStream;System.out.println(‘a’);
实际上调用是PrintStream的println(char c)方法;
而println(char c)方法的源代码为:
public void println(String x) { synchronized (this) { print(x); newLine(); } }
可见Println调用了print(char c)方法,print(char c)方法的源代码如下:
public void print(String s) { if (s == null) { s = "null"; } write(s); }
可见调用的是write(String s)方法,write(String s)的代码为:
private void write(String s) { try { synchronized (this) { ensureOpen(); textOut.write(s); textOut.flushBuffer(); charOut.flushBuffer(); if (autoFlush && (s.indexOf('\n') >= 0)) out.flush(); } } catch (InterruptedIOException x) { Thread.currentThread().interrupt(); } catch (IOException x) { trouble = true; } }
当字符串中含有’\n’时会刷新out,此处的out是OutStream对象的实例。println(String s)最后调用newLine() 方法,newLine()的代码如下:
private void newLine() { try { synchronized (this) { ensureOpen(); textOut.newLine(); textOut.flushBuffer(); charOut.flushBuffer(); if (autoFlush) out.flush(); } } catch (InterruptedIOException x) { Thread.currentThread().interrupt(); } catch (IOException x) { trouble = true; } }
newLine()会刷新out。
相关文章推荐
- spring-data-jpa初步开始的helloworld
- Struts2 中 OGNL各作用域对象怎么取
- springmvc附件上传核心代码
- 基于注解的Spring AOP的配置和使用
- Java解析HTML之HTMLParser使用与详解
- java servlet的工作原理
- servlet---java读取本地文件
- struts2怎么设置action返回Json数据
- Java实现lowerBound及upperBound
- spring data jpa 利用@Query进行查询
- Dalvik中Java Proxy实现机制分析
- java中各种代码块的加载顺序
- Java 自动装箱 拆箱
- Eclipse in Ubuntu16.04LTS Final Beta
- 34、疯狂java讲义第三版
- Eclipse 常用插件在线安装地址
- Struts2之OGNL
- Struts2之OGNL
- Struts2之OGNL
- Struts2之OGNL