首页 > 代码库 > 单例模式
单例模式
1 public class Singleton 2 { 3 private static Singleton singleton = new Singleton();//类加载了便初始化该单例对象 4 //之所以称之为饿汉式,因为他太急了 5 private Singleton() 6 { 7 } 8 public static Singleton getInstance() 9 {10 return singleton;11 }12 }
1 public class Singleton 2 { 3 private static Singleton singleton; 4 5 private Singleton() 6 { 7 } 8 //注意这里synchronized,保证了线程安全,意思就是每次只有一个线程能够访问该方法 9 public static synchronized Singleton getInstance()10 {11 if(singleton == null)12 {//当singleton要用的时候才初始化,加判断避免重复初始化,保证只new了一次13 singleton= new Singleton();14 }15 return singleton;16 }17 }
1 public class Singleton 2 { 3 private static Singleton instance = null; 4 5 private Singleton() 6 { 7 //dosomething 8 } 9 10 public static Singleton getInstance()11 {12 if(instance == null)13 {14 synchronized(Singleton.class)//可以思考一下,为什么这样提高效率15 {16 if(null == instance)17 {18 instance= new Singleton();19 }20 }21 }22 return instance;23 }24 }
单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。