首页 > 编程语言 > 详细

java中3中单例模式例子

时间:2019-10-06 11:06:16      阅读:107      评论:0      收藏:0      [点我收藏+]

java面试官也经常面试这个单例模式,一般能说出两私一公就不错了

java程序员平时开发用的少,但面试遇到多啊,也是有必要研究下的

什么叫两私一公

  1. 私有的构造函数
  2. 私有静态实例属性
  3. 公共的获取实例的静态方法

基础知识点

多线程、线程安全、static、构造函数、枚举

例子1

传统单线程环境下

缺点:线程不安全

技术分享图片

 

例子2

  • 多线程下通过synchronized保证线程安全
  • 跟例子1就多了同步,实例初始过了就直接返回实例不用进入同步代码块了
  • 多重检查锁的方式去保证安全
  • 缺点:还是可以通过反射去创建实例,不完美啊
技术分享图片

 

例子3(完美)

利用枚举的特性在JVM层保证绝对的单例

技术分享图片

 

为啥枚举的单例就完美了?

枚举本身是无法通过反射、克隆、反序列化等等把对象初始出来的。

枚举底层原理我就不在这里细说了。

总结

  • 搞懂两私一公(面试的时候能说出第2个例子就可以)
  • 枚举完美单例(能说出第3个例子就非常好)

java中3中单例模式例子

原文:https://www.cnblogs.com/lizhilin777/p/11626382.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!