一、前言
单例模式是指在内存中有且只会创建一次对象的设计模式,在程序中多次使用同一个对象且作用相同的时候,为了防止频繁的创建对象,单例模式可以让程序在内存中创建一个对象,让所有的调用者都共享这一单例对象。单例模式的类型有两种:懒汉式和饿汉式。
二 单例模式类型
饿汉式:在类加载的时候已经创建好该单例对象。
懒汉式:在需要使用对象的时候才会去创建对象
2.1 饿汉式:
//饿汉式
public class Hungry {
/**
* 构造器私有 拒绝别人创建这个对象
*/
private Hungry() {
}
private final static Hungry HUNGRY = new Hungry();
public static Hungry getInstance(){
return HUNGRY;
}
大家都知道饿汉式单例是程序启动的时候就已经创建好了对象,那么这样的会会有什么问题呢?有可能浪费空间,为什么呢?因为如果在该类中声明了许多内存空间,但却没有使用的话,就很浪费内存空间,因为饿汉式它是在程序启动的时候就已经创建好了。
2.2 懒汉式:
//懒汉式单例
public class LazySingle {
private LazySingle(){
}