美文网首页
JAVA-(设置模式)2.单例

JAVA-(设置模式)2.单例

作者: come_true | 来源:发表于2017-09-04 18:21 被阅读0次

有时候,我们希望JVM中只有一个类的对象。
实现单例(Singleton)有两种方式。
1.饿汉式

public class Singleton {
    //饿汉式(声明实例引用即实例化)类装载的时候实例化存放在方法区内(不存在线程并发)
    private static Singleton singleton = new Singleton();
    //构造方法私有
    private void Singleton (){
    }
    //提供访问点
    public static Singleton getSingleton(){
        return singleton;
    }
}

饿汉式不存在并发的情况,但是在类加载的时候即申请内存实例化(对于大对象来说还是比较消耗内存)
2.懒汉式

public class Singleton {
    //懒汉式(声明实例引用不实例化,第一次调用方法时,实例化)
    //对于创建实例代价大,且不定会使用时,使用懒加载模式可以减少开销
    //缺点:在单线程下能保证只有一个实例,多线程下有创建多个实例的风险
    private static Singleton singleton = null;
    private void Singleton(){
    }
    public static Singleton getSingleton(){
        /*这种方式存在并发的情况
        if(singleton!=null){    
                
        }else{
            singleton = new Singleton();
        }
        return singleton;
                */
        //只有调用getSingleton时才会装载内部类,才会创建实例(不存在线程并发)
        return InnerClass.INSTANCE;
    }
    private static class InnerClass{
        private static final Singleton INSTANCE = new Singleton();
    }

}

相关文章

  • JAVA-(设置模式)2.单例

    有时候,我们希望JVM中只有一个类的对象。实现单例(Singleton)有两种方式。1.饿汉式 饿汉式不存在并发的...

  • Java-单例模式

    单例模式 @Date 2015.08.24 适用场景 单例对象能保证在一个JVM中,该对象只有一个实例存在 某些类...

  • Java-单例模式

    单例模式:顾名思义,表示这个类只有一个实例存在。 单例模式的好处:避免实例对象被重复创建,减少每次创建实例的时间,...

  • Java-单例模式

    单例模式是我们实际开发中常用到的开发模式,目的是保证实例的唯一性,确保这个类在内存中只会存在一个对象,但我们现在用...

  • 设计模式之一:单例模式

    摘要:设计模式之一:单例模式目录介绍1.单例模式介绍2.单例模式定义3.单例模式使用场景4.单例模式的实现方式 4...

  • 单例模式

    单例模式--概念 单例模式常见的写法有:懒汉式,饿汉式,登记式。单例模式的特点有:1.单例类只能有1个实例2.单例...

  • 设计模式之单例模式

    文章结构1.单例模式简介2.单例模式种类3.参考文章 1.单例模式简介 1.1简介 单例模式,从字面上看是“一个实...

  • 单例模式

    单例模式的特点:1.单例模式只有一个实例。2.单例模式自己创建自己的对象实例。3.单例模式必须给所有其他对象提供这...

  • kotlin实现单例模式

    1.懒汉式实现单例模式 2.线程安全懒汉式实现单例模式 3.双重校验懒汉式实现单例模式 4.静态内部类方式实现单例模式

  • Kotlin 的单例模式

    Kotlin 的单例模式 1. 在 Java 中的单例模式 懒汉式单例模式,并且是线程安全 2. 在 Kotlin...

网友评论

      本文标题:JAVA-(设置模式)2.单例

      本文链接:https://www.haomeiwen.com/subject/jcnejxtx.html