美文网首页
Java单例模式两种实用有趣的写法

Java单例模式两种实用有趣的写法

作者: 刺鸟开源 | 来源:发表于2016-04-01 09:52 被阅读194次

1.内部类实现

Class Singleton{

   private static class HelperHolder{

   public static final Helper helper=new Helper();

   }

    public static Helper newInstance(){

        return HelperHolder.helper;

    }

}

为什么说有趣呢,内部类的实现能够延迟初始化(Lazy initialization),并且多线程安全,还保证了高性能

为什么会延迟初始化呢,因为java的语言特性,内部类只有在使用的时候才会去加载,从而初始化内部静态变量。

为什么没有加线程锁会是线程安全的呢,Java运行环境自动给你保证的,加载的时候会自动隐形同步。

为什么是高性能呢,在访问对象时,不需要同步java虚拟机,又会自动给你取消息同步,所以效率高。

2.枚举实现

public enum Singleton{

        INSTANCE;

        private Singleton(){

        }

    public Helper newInstance(){

      return new Helper();

      }

}

枚举的实现 即使使用反射机制也无法多次实例化一个枚举量,也是线程安全的

                                                                                                                源自《JAVA编程思想》

相关文章

  • 2019-08-27 java设计模式之单例模式

    1.单例模式概述 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍两种:懒汉式单例、饿...

  • Java单例模式两种实用有趣的写法

    1.内部类实现 Class Singleton{ private static class HelperHold...

  • 设计模式(五)单例模式

    引言 Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍两种:懒汉式单例、饿汉式单例 0...

  • Java中单例模式你用的哪一种?

    一起讨论java中的单例模式。单例模式是java设计模式中算是最简单的设计模式了。 * java实现单例模式的写法...

  • 单例模式

    JAVA设计模式之单例模式 十种常用的设计模式 概念: java中单例模式是一种常见的设计模式,单例模式的写法...

  • Java四种单例设计模式

    Java中的四种单例模式 单例模式是最容易理解的设计模式之一,介绍Java中单例模式的四种写法。 1.基本单例模式...

  • Kotlin中的单例模式与Java对比

    目前java中的单例模式有多种写法,kotlin中的写法更多一点,本篇会总结全部的到单例模式写法。 一、懒人写法(...

  • 单例的2种写法

    单例模式是iOS开发中最常用的设计模式,iOS的单例模式有两种官方写法,如下: 1,常用写法 import "Se...

  • java 24 设计模式

    单例模式java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、...

  • Java设计模式—单例模式

    概念 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,比较常见的有:懒汉式单例、饿汉式单例。单例模...

网友评论

      本文标题:Java单例模式两种实用有趣的写法

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