1. 抽象
  2. 继承
    1. 继承机制的约束规范
  3. 多态
    1. 泛型
  4. 设计模式
    1. 单一职责Single-Resposibility
      1. 一个类,最好只做一件事,只有一个引起它的变化
    2. 开放封闭Open-Closed
      1. 对扩展开放,对修改封闭
    3. Liskov替换Liskov-Substituion
      1. 子类必须能够替换其基类
    4. 依赖倒置Dependecy-Inversion
      1. 高层模块不依赖于底层模块,二者都同依赖于抽象
    5. 接口隔离Interface-Segregation
      1. 使用多个小的专门的接口,而不要使用一个大的总接口
  5. 对象
    1. 类型
      1. 基本类型
      2. 接口
  6. jvm
    1. 内存模型
      1. heap
      2. stack
    2. GC
  7. classLoader
  8. Compiler
  9. 消息传递机制(Message Passing)