Java设计模式-单例模式-懒汉式(线程安全)
- 2020 年 3 月 17 日
- 筆記
优缺点说明
1)解决了线程不安全问题
2)效率太低了。每个线程在想获得类的实例时候,执行getInstance()方法都要进行同步。而其实这个方法只执行一次实例化代码就够了,后面的想获得该类实例,直接return就行了。方法进行同步效率太低
3)结论:在实际开发种,不推荐使用这种方式
public class SingletonTest03 { public static void main(String[] args) { Singleton03 instance = Singleton03.getInstance(); Singleton03 instance01 = Singleton03.getInstance(); System.out.println(instance == instance01); System.out.println("instance,hashCode= " + instance.hashCode()); System.out.println("instance01,hashCode= " + instance01.hashCode()); } } class Singleton03{ private static Singleton03 instance; private Singleton03(){} public static synchronized Singleton03 getInstance(){ if(instance == null){ instance = new Singleton03(); } return instance; } } // 运行结果 true instance,hashCode= 1846274136 instance01,hashCode= 1846274136