单例设计模式之饿汉式(静态常量)

Posted waibizi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例设计模式之饿汉式(静态常量)相关的知识,希望对你有一定的参考价值。

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());
    }

}

以上是关于单例设计模式之饿汉式(静态常量)的主要内容,如果未能解决你的问题,请参考以下文章

单例模式之饿汉式

设计模式--单例模式之饿汉式

2. 单例模式

单例模式

单例模式

设计模式——单例模式