ctrl+shift+t 寻找类
    ctrl+o 查看类中方法、成员、属性
    ctrl+t 查看类的继承体系(方便看父类
    ctrl+i 格式化代码
    group_id 统一设置为com.company
    打包方式 jar/war/pom
    junit 4.12
    字节码对象的获取方式:
    类名.class
    Class.forName
    getClass
    ClassLoader
    储存数据(变量:类变量,实例变量,参数变量,局部变量):Pojo(普通的java对象) Vo
    执行业务逻辑:Controller Service Dao
    不要设置一个大而全的对象
    封装 继承 多态 组合
    HashMap 不支持线程同步,不可以多个线程同时写,可能会导致数据的不一致,可以使用Collections的synchronizedMap方法使它同步
    TreeMap自然顺序或自定义顺序遍历
    LinkedHashMap输入和输出的顺序相同,可以按读取排列
    Hashtable与HashMap不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtable在写入时会比较慢。
    Iru cache算法
    泛型提高程序的灵活性
    泛型
    指定泛型下界:<? extends 类型>
    指定泛型上界:<? super 类型>
    泛型是编译时的一种类型,在运行时无效,运行时都会变成Objet
    实例对象
    参数不同:重载
    参数相同:重写
    可变参数应用(特殊数组)
    static void dosomething(int…a){}
    栈:先进后出
    字节码对象,class类型,一个JVM只有一份
    类的实例对象,类的类型,一个JVM可以有多份实例对象
    封装,继承,多态,组合 培养宏观视角
    序列化及应用实现
    类加载器:ClassLoader
    OCP原则 对修改关闭,对扩展开放
    DIP原则:依赖于抽象,而不是具体,也就是尽量用父类来声明变量
    LRU 缓存淘汰
    transient 它修饰的变量不允许序列化
    volatile 保证线程可见性