单例模式
单例模式
特点,1有一个自已实例的的静态私有字段A
2私有的构造方法B
3调用B为A赋值的公有方法。
注意的是反射创建的单例对象,会新建一个实例。
用处。大型的工厂多是用单例模式保证内存中只有一个单例对向。
比如hibernate的SessionFactory.
饿汉模式 这种方法,在类型初始化后就已经有了真正的对象。
class SingleHungry { private static SingleHungry single=new SingleHungry(); private SingleHungry() { } public static SingleHungry getInstance(){ return single; } }
懒汉模式,这种方法,只在类型初始化后,是没有真正对象的,只在调用 第一次getInstance后,才有直正的对象
class SingleFactory { private static SingleFactory singlie; private SingleFactory() { } public static SingleFactory getInstance() { if (singlie == null) { singlie = new SingleFactory(); } return singlie; } }