如java.io.LineNumberInputStream(deprecated),是装饰模式(decorate)的实现;java
如java.io.OutputStreamWriter,是适配器模式(adapter)的实现;express
引用知乎海纳老师的说法,这样看java.io包中的类的名称就能大概知道使用方法了;segmentfault
Adaptor所要解决的问题是适配,它的目的在于接口的转换。数组
而Proxy偏偏相反,它的目的在于保持接口不变,而改变接口定义的方法的行为。数据结构
代理的示意图:app
海纳老师课程学习:ide
一、“咱们能不使用外包类的时候仍是尽可能不要使用外包类,除非在使用容器,泛型等等的时候,不得不使用。跟这么多出乎意料的结果比起来,审美和品位已经不是最重要的了。”工具
二、数据结构,栈学习
网上找的字节码指令对照表:spa
中序表达式求和转换为后续表达式思路:
http://www.codebelief.com/article/2016/10/application-of-stack-calculate-expressions/
"1. 第一遍扫描表达式时,遇到运算符则压入栈中,遇到操做数则按顺序取出,放入等待生成的后缀表达式中。
2. 若扫描运算符时遇到 ),说明栈中有 ( 与之配对,此时应依次弹出运算符,放入等待生成的后缀表达式中,直到 ( 从栈中弹出。
3. 若当前扫描的运算符优先级低于栈顶运算符的优先级,则应先弹出栈顶运算符,以后再把当前运算符压入栈中。"栈的做用,保存当前结果值
面向对象:
java5提供的语法进行不使用new来实例化数组;来源慕客网
jdk中好用的jinfo工具,
使用示例:
jinfo 12104 | grep user.timezone
获得如:user.timezone = Asia/Harbin
下面连接中分析的很详细,关于java应用须要在应用启动中加入全局设置保证使用“Asia/Shanghai”时区
https://my.oschina.net/plutonji/blog/1933091