![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
设计模式
大秦樗里疾
樗里疾,能打仗能外交。小码农,能写代码能写文章。
展开
-
重学Java之单例模式--枚举
接上篇重学Java之单例模式–DCL懒汉式_南国樗里疾的博客-CSDN博客https://blog.csdn.net/weixin_44021334/article/details/114881148 ,DCL懒汉式单例,容易被反射破坏,看下 Constructor.newInstance 方法,提示如果枚举则抛出异常 "Cannot reflectively create enum objects",@CallerSensitive public T newInstance(Object原创 2021-03-16 16:18:45 · 209 阅读 · 0 评论 -
重学Java之单例模式--DCL懒汉式
接前篇 重学Java之单例模式–懒汉式_南国樗里疾的博客-CSDN博客https://blog.csdn.net/weixin_44021334/article/details/114880800 ,说到懒汉式多线程不安全,改进办法是 双重锁模式,也就是 双重锁定(Double-Check Locking) ,简称 DCL 。1.简单加锁对外提供获取实例的方法加上锁,package single;import java.lang.reflect.Constructor;import jav原创 2021-03-16 15:13:20 · 843 阅读 · 1 评论 -
重学Java之单例模式--懒汉式
懒汉式:需要时才创建实例。简单理解:很懒,叫他他才干活。好处:需要时才创建,节约资源。不足:单线程安全,多线程不安全;会被反射破坏示例,package single;public class LazyMan { private static LazyMan lazyMan; private LazyMan(){ System.out.println(Thread.currentThread().getName() + ", " + toString());原创 2021-03-16 14:37:30 · 123 阅读 · 0 评论 -
重学Java之单例模式--饿汉式
单例模式的典型特征:构造器私有,禁止外部直接使用 new 来创建对象;对外提供获取实例的方法;饿汉式单例:类一创建就直接 new 一个对象。简单理解就是,很饿,食物一做好就吃。好处:立即创建,线程安全。不足:占用内存。package single;import java.util.Arrays;//饿汉式单例public class Hungary { /** * 饿汉式,类加载的时候就直接 new 一个, * 占用内存空间 * */原创 2021-03-16 14:17:49 · 137 阅读 · 1 评论