码迷,mamicode.com
首页 > 其他好文 > 详细

单列模式的介绍

时间:2018-01-30 16:39:56      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:单例对象   gpo   lib   对象   介绍   单例   post   私有   zed   

 

1. 单例模式的作用和应用场景(不全后面补充)

1.1保证里面Java应用程序中,只有一个实例的存在。比如:浏览网站显示当前在线人数,就是用一个单例的对象。

2.单例模式的几种写法

2.1注意事项:

(1)下面的写法都是正确的,只是有优缺点,适用的场景不同而已。

(2)单例模式都是把构造方法私有化,外部不能进行创建实例的操作,只提供给外界获取对象的方法。

 

2.2懒汉式,只适合单线程,多线程不安全

在多线程的情况下,可能会被实例多次

技术分享图片

2.3对懒汉式进行改造,通过关键字synchronized对方法进行加锁,线程安全

这种写法能在多线程中很好的工作,但是每次调用都加同步锁,效率变低。

技术分享图片

2.4饿汉式

不管用不用,都会在类加载的时候创建对象,如果使用十分少,就浪费了内存

技术分享图片

2.5静态内部类

这个方式是最好的,使用的时候才创建单例对象,同时保证了线程的安全。

 技术分享图片

最后总结:单例模式的使用,依靠的就是静态内部类,使用的时候创建保证效率同时能安全。

思考:静态内部类还有那些好处?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

单列模式的介绍

标签:单例对象   gpo   lib   对象   介绍   单例   post   私有   zed   

原文地址:https://www.cnblogs.com/xyyz/p/8384281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!