工厂模式
简单工厂 适用于类型比较小,通过传入不同参数返回不同对象
工厂方法 定义一个创建u对象的接口,让接口实现类创建对象
抽象工厂 比如Connection就是一个抽象工厂
项目中举例:sendmsg,多种渠道比如阿里云 华为云 等,创建于给sendmsg接口,多种实现类,一个工厂,根据不同业务发送不同类型的短信。
单例模式
只存在一个实例,减小创建销毁的开销,默认bean是单例,数据库连接池单例,ServletContext是单例
饿汉式,类加载时创建对象,无多线程问题,有懒加载问题
懒汉式:用syn效率低,不推荐
双重校验 推荐 使用volatile,
静态内部类 推荐
枚举 Java推荐
代理模式
不改变原有代码增加功能,如AOP加入日志功能等,
策略模式
创建线程池时,需要传入拒绝策略,当创建新线程使当前运行的线程数超过 maximumPoolSize 时会使用相应的拒绝策略处理。
原型模式
用于创建重复的类,又保证性能,深拷贝,浅拷贝,深拷贝可用重写所有clone(),工具类,序列化等