1. 创建型
    1. 单例模式: java.lang.Runtime
    2. 静态工厂: java.util.concurrent.Executors
    3. 原型模式:java.lang.Object clone
    4. 生成器(Builder) StringBuilder StringBuffer
  2. 结构型
    1. 装饰者模式 io里面的包, 动态给对象添加功能
    2. 适配者模式 Arrays.asList() 返回的是个内部类。
    3. 桥接: jdbc
    4. 组合模式:java.util.Map # putAll() java.util.List #addAll() java.util.Set# addAll
    5. 享元模式:java.lang.Integer#valueOf(int)
      java.lang.Boolean#valueOf(boolean)
      java.lang.Byte#valueOf(byte)
      java.lang.Character#valueOf(char)
    6. 代理模式 java.lang.reflect.Proxy, RMI
  3. 行为型
    1. 策略模式 java.lang.Comparator
    2. 职责链模式 Filter doFilter
    3. 命令模式:java.lang.Runnable
    4. 迭代器:Iterator
    5. 观察者:Java.util.Oberver
    6. 模板方法 AQS 最经典的模板方法