摘要: 创建型设计模式是对类的实例化过程进行抽象。 简单工厂模式 根据传入参数返回不同对象 缺点:当对象具体类型增加时,需要修改工厂代码,添加新的具体类型判断和生成逻辑,违反了开闭原则 工厂方法模式 不仅将具体对象抽象,同时将工厂也抽象,解决新增加具体类型时需要修改工厂代码的问题,但是需要新建工厂 缺点:维 阅读全文
posted @ 2023-01-20 15:06 马儿跑 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 开闭原则 对扩展开放,对修改关闭。 使用抽象类,接口等构建抽象层,通过实现接口(继承抽象类)的方式构建具体实现。当系统修改时,无需对抽象层代码修改,只需编写新的具体实现类达到扩展的目的 里氏替换原则 对方法method(base),那么它必然可以接受一个子类对象sub 依赖倒置原则 通过抽象来搭建框 阅读全文
posted @ 2023-01-20 13:26 马儿跑 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 消除指令重排序 保证了不同线程对变量进行操作时的可见性,cpu对变量值修改后,其他线程读取变量信息时从内存读取而非cpu缓存 使用场景: 1. 双重检查锁,防止重排序 uniqueSingleton = new Singleton(); 赋值操作在编译后不是原子的,分为三步: (1)分配内存空间 ( 阅读全文
posted @ 2023-01-20 09:14 马儿跑 阅读(15) 评论(0) 推荐(0) 编辑
摘要: AbortPolicy:丢弃任务并抛出RejectedExecutionException异常,线程池默认拒绝策略 DiscardPolicy:丢弃任务,但不抛出异常 DiscardOldestPolicy:丢弃队列最前面的任务后重新提交被拒绝的任务 CallerRunsPolicy:由调用exec 阅读全文
posted @ 2023-01-20 08:38 马儿跑 阅读(30) 评论(0) 推荐(0) 编辑