1.单例模式
单个对象,一个类一个实例
(1):懒汉式单例模式:懒汉式单例模式指的是在第一次使用单例对象时才创建实例(用的是才创建)
public class Singleton {
private static Singleton instance;
private Singleton() {
// 私有构造函数
}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
(2):饿汉式单例模式:饿汉式单例模式指的是在类加载时就创建实例(提前创建好)
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {
// 私有构造函数
}
public static Singleton getInstance() {
return instance;
}
}
2.工厂模式
线程池Excutors相当于是一个工厂
3.策略模式
线程池Excutors的内部类的属性对象:ThreadPoolExcutor里面的七大参数中的拒绝策略
4.代理模式
代理:静态代理、JDK动态代理、Cglib动态代理
5.适配器模式
Spring MVC的适配器HandlerAdapter
6.模板方法模式
Spring中jdbcTemplate
7.原型模式
用一个已经创建的实例作为原型, 通过拷贝该原型对象来创建一个和原型对象相同的新对象(浅拷贝和深拷贝)