package com.waibizi.demo06;
public class Singleton_pattern {
public static void main(String[] args) {
// TODO Auto-generated method stub
Singleton test = Singleton.getInstance();
Singleton test1 = Singleton.getInstance();
System.out.println(test.hashCode());
System.out.println(test1.hashCode());
}
}
//静态内部类
@SuppressWarnings("all")
class Singleton{
//构造器私有化
private Singleton() {
}
//写一个静态内部类,该类有一个静态属性
private static class SingletonInstance{
private static final Singleton instance = new Singleton();
}
//双重安全检查,解决线程安全问题,解决懒加载问题
//即懒汉式加载(线程安全)
public static synchronized Singleton getInstance() {
return SingletonInstance.instance;
}
}