• java.io包下适配和装饰模式的使用


    如java.io.LineNumberInputStream(deprecated),是装饰模式(decorate)的实现;

    如java.io.OutputStreamWriter,是适配器模式(adapter)的实现;

    引用知乎海纳老师的说法,这样看java.io包中的类的名称就能大概知道使用方法了;

    Adaptor所要解决的问题是适配,它的目的在于接口的转换。

    而Proxy恰恰相反,它的目的在于保持接口不变,而改变接口定义的方法的行为。

    代理的示意图:

     

    海纳老师课程学习:

    1、“我们能不使用外包类的时候还是尽量不要使用外包类,除非在使用容器,泛型等等的时候,不得不使用。跟这么多出乎意料的结果比起来,审美和品位已经不是最重要的了。”

    2、数据结构,栈

     网上找的字节码指令对照表:

    https://segmentfault.com/a/1190000008722128

    中序表达式求和转换为后续表达式思路: 

    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

    Java 8 Function之Predicate

     

     

    2020-01-13

    public static String frontCompWithZore(int sourceDate,int formatLength)
     
      {
      /*
      * 0 指前面补充零
      * formatLength 字符总长度为 formatLength
      * d 代表为正数。
      */
      String newString = String.format("%0"+formatLength+"d", sourceDate);
      return newString;
      }
    
    String newString = String.format("%02d", 5); 
    System.out.println("newString === "+newString);
    

      

    JAVA ——int 类型除法保留两位小数

    DecimalFormat df=new DecimalFormat("0.00");
    System.out.println(df.format((float)a/b));

     

     

     

     

  • 相关阅读:
    0x1L
    失败全是无能,成功多是侥幸。
    也谈不甘
    维护网站小笔记
    C#反射(二) 【转】
    C#反射(一) 【转】
    短期学习目标
    局域网手机遥控关机
    密码验证
    字符串反转
  • 原文地址:https://www.cnblogs.com/zhucezmf/p/10369896.html
Copyright © 2020-2023  润新知