单例模式 :
Runtime 类:Java 运行时环境是单例的,可以通过 Runtime.getRuntime() 方法获得实例。Calendar 类:Calendar.getInstance() 方法返回的是一个单例的 Calendar 实例。DataSource。工厂模式 :
Boolean 类:Boolean.valueOf(boolean) 方法返回一个缓存的 Boolean 对象。java.util.Calendar 类:使用 Calendar.getInstance() 方法来获取一个 Calendar 实例。java.util.Collection 接口:Collections.emptyList()、Collections.singleton() 等工厂方法创建不可变集合。观察者模式 :
java.util.Observer 和 java.util.Observable 接口。装饰器设计模式 :
InputStream 和 OutputStream 的各种子类(如 BufferedInputStream、FileInputStream)都使用了装饰器模式来扩展功能。java.io.InputStreamReader 和 java.io.OutputStreamWriter:用于字符编码转换的装饰器。java.util.Collections 类:提供了多个静态工厂方法,用于返回不可变集合的装饰器,如 Collections.unmodifiableList()。策略模式 :
java.util.Comparator 接口:用于排序的策略模式,在集合排序时经常使用。java.util.concurrent.Executor 接口:定义了执行任务的策略,如 ThreadPoolExecutor。模板方法模式 :
java.util.Collections 类:提供了一系列静态方法,如 sort() 和 binarySearch(),它们使用模板方法来实现通用算法。适配器模式 :
java.util.Arrays 类:通过 asList() 方法将数组适配为 List。java.io.InputStreamReader 和 java.io.OutputStreamWriter:用于将字节流适配为字符流。