java 中的几种单例模式形式
java 中的几种单例模式形式 1、饿汉单例形式 2、懒汉单例(线程不安全) 3、懒汉单例(对方法加锁) 4、懒汉单例(双重检测) 此方法还是存在问题,new 一个对象一共有三步 1、为对象分配内存空间 2、调用对象的构造函数,并对对象进行属性赋值 3、将对象指向分配的内存 jvm会对这三条指令进行重排,当将2、3进行了重排时,线程1先执行的指令3,然后执行指令2, 此时,cup切换到线程2执行,此时它判断instance不为空,返回,对象没有完成创建 改进的方法是加上volatile 5、懒汉单例(双重检测改进) 6、静态内部类单例 7、枚举单例形式 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示; 全新的 KaTeX数学公式 语法; 增加了支持