前言:不断学习就是程序员的宿命
一、单例模式
所谓的单例设计模式,就是采取一定的方法保证整个的软件系统中,对某个类只能存在一个对象实例,并且该类只能提供一个取得对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建session对象。SessionFactory并不是轻量级的
单例模式有以下8种方式:
二、饿汉式(静态常量)
public class Singleton01 { //本类内部创建对象实例 private final static Singleton01 instance=new Singleton01(); //构造器私有化,外部不能new private Singleton01(){} //提供一个公有静态方法,返回实例对象 private static Singleton01 getInstance(){ return instance; } public static void main(String[] args) { //测试 Singleton01 instance1 = Singleton01.getInstance(); Singleton01 instance2 = Singleton01.getInstance(); System.out.println(instance1==instance2); System.out.println(instance1.hashCode()); System.out.println(instance1.hashCode()); } }