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

设计模式之单例模式

时间:2016-07-14 21:21:45      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

单例模式的目的是:让类只创建一个实例对象。

 1 public class Singleton {
 2     private static Singleton uniqueSingleton=null;
 3     private Singleton(){    
 4     }   // 私有构造器,保证只能在本类中实例化对象
/*定义获取实例的方法,如果没创建过实例就创建一个实例,否则返回已经创建的实例 */
5 public static Singleton getSingleton(){ 6 if(uniqueSingleton==null){ 7 uniqueSingleton=new Singleton(); 8 } 9 return uniqueSingleton; 10 } 11 public static void main(String[] args) { 12 } 13 }

单例模式不能保证线程安全。

以下三个方法来优化:

1. 同步(synchronized)返回实例的方法,适合调用实例比较少的

2. “急切”创建实例,即在初始化唯一实例的时候直接创建实例,适合频繁调用实例

3.双重检查锁,即在定义唯一实例时加volatile并且 同步第二个非空判断(这里在if非空判断后再加一个同步的非空判断)

 

设计模式之单例模式

标签:

原文地址:http://www.cnblogs.com/peng111/p/5671710.html

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