1. 设计模式
    1. 创建模式
      1. Singleton(单例)
        1. Runtime.getRuntime
        2. NumberFormat
      2. Factory(工厂)
        1. Integer.valueOf
        2. Class.forName
      3. Factory Method(工厂方法)
        1. Collection.iterator
          1. ArrayList
          2. AbstractList$Itr
          3. LinkedList
          4. AbstractList$ListItr
      4. Abstract Factory(抽象工厂)
        1. java.sql包
        2. Java Look & Feel:UIManager(swing外观)
      5. Builder(构造者)
        1. DocumentBuilder(org.w3c.dom)
      6. Prototype(原型)
        1. Object.clone
        2. Cloneable
    2. 结构模式
      1. Adapter(适配器)
        1. java.io.InputStreamReader(InputStream)
        2. java.io.OutputStreamWriter(OutputStream)
      2. Composite(组合)
        1. org.w3c.dom
        2. javax.swing.JComponent#add(Component)
          1. JPanel
          2. JLabel
      3. Decorator(装饰器)
        1. java.io包
        2. java.util.Collections
          1. 如:SynchronizedList
      4. Facade(外观)
        1. java.util.logging
          1. Logger
          2. LoggerManager
        2. java.lang.Class
          1. 包装了Method,Constructor等类
      5. Flyweight(享元)
        1. String常量池
        2. Integer.valueOf
        3. Character.valueOf
      6. Proxy(代理)
        1. Proxy和InvocationHandler
        2. RMI
      7. Bridge(桥接)
        1. java.util.logging中Handler和Formatter
        2. java.sql包
    3. 行为模式
      1. Iterator(迭代器)
        1. 内部
        2. 外部
          1. Iterator
          2. Enumeration
      2. Observer(观察者)
        1. java.util.Observer和java.util.Observable
        2. swing的listener
      3. Mediator(协调者)
        1. swing中的ButtonGroup
      4. Template method(模板方法)
        1. ThreadPoolExecutor
          1. beforeExecute
          2. AfterExecute
      5. Strategy(策略)
        1. ThreadPoolExecutor中的四种拒绝策略
      6. Chain of Responsibility(责任链)
        1. ClassLoader的委托机制
        2. java.util.logging.Logger的log方法
        3. servlet的Filter
      7. Command(命令)
        1. ThreadPoolExecutor
        2. Runnable
        3. Callable
      8. Null Object(空对象)
        1. Collections.EMPTY_LIST
      9. State(状态)
      10. Visitor(访问者)
        1. javax.lang.model.type.TypeVisitor
      11. Interpreter(解释器)
        1. Pattern
      12. Memento(备忘录)