package com.waibizi;
/**
* 单例设计模式之饿汉式(静态常量)
* 步骤
* 1.构造器私有化(防止new)
* 2.类的内部创建对象
* 3.向外暴露一个静态的公共方法 getInstance
* 4.代码实现
* @author 歪鼻子
*
*
*优点:这种写法比较简单,类加载的时候就完成了实例化。避免了线程同步问题
*缺点:类装载的时候就完成了实例化,如果从开始到至终都没使用过这个类,势必会造成资源的浪费
*结论:这种单例模式是可用的,可能会导致浪费(调用getInstance的时候会进行类装载,但是我们不能保证其他的方法不会导致类状态,一旦发生类状态,则定会占用一定的内存空间)
*/
@SuppressWarnings("all")
public class Singleton_Pattern {
//1.构造器私有化,外部不能new
private Singleton_Pattern() {
}
//2.本类内部创建对象实例
private final static Singleton_Pattern instance = new Singleton_Pattern();
//3.向外暴露一个静态的公共方法 getInstance
public static Singleton_Pattern getInstance() {
return instance;
}
public static void main(String[] args) {
Singleton_Pattern test = Singleton_Pattern.getInstance();
Singleton_Pattern test1= Singleton_Pattern.getInstance();
//hashcode比较
System.out.println(test.hashCode());
System.out.println(test1.hashCode());
}
}