一、单例模式

作者: 城市里永远的学习者 | 来源:发表于2018-09-17 11:34 被阅读0次

1.单例模式

1.1定义:属于一种对象创建模式,能够确保系统中一个类有且只有一个实例

1.2好处:

1.2.1对于频繁使用的对象,可以省略创建对象所花费的时间

1.2.2由于new的次数减少,对内存的使用频率也降低了,减去GC压力

1.3角色

单例类和使用类

实例1:

public class SingleClass3 {

private  SingleClass3(){

System.out.println("init SingleClass3...");

    }

private  static  SingleClass3 instance=new SingleClass3();

    public synchronized static  SingleClass3 getInstance()

{

return  instance;

    }

}

假设类构造函数初始化时间较慢,则延迟加载:

public class SingleClass {

private static  SingleClass instance=null;

    private  SingleClass()

{

System.out.println("SingleClass Constructor ...");

    }

public  static synchronized SingleClass getInstance()

{

if (instance==null)

instance=new SingleClass();

            return instance;

    }

}

但因为使用了同步方法,所以在多线程情况下会变慢,虽然减少了类加载时间,但却因为同步方法导致时间变长,于是引入内部类:

public class SingleClass2 {

private  SingleClass2()

{

System.out.println("SingleClass2 Constructor ...");

    }

private  static  class  SingleHolder{

private  static SingleClass2 instance=new SingleClass2();

    }

public  static  SingleClass2 getInstance()

{

return SingleHolder.instance;

    }

}

思考:

如何理解使用内部类来实现单例模式?

静态内部类只有在被调用时才会加载,且类的加载过程是线程保护的所以不存在线程安全问题。而且这个类的实例化是在静态内部类中且使用了final修饰,只能赋值一次,static修饰随着类的加载而加载

使用:

1.配置类

2.常用注解

@Configuration:指定为配置类

@Component:

@Aspect

相关文章

  • 【设计模式】单例模式

    单例模式 常用单例模式: 懒汉单例模式: 静态内部类单例模式: Android Application 中使用单例模式:

  • Android设计模式总结

    单例模式:饿汉单例模式://饿汉单例模式 懒汉单例模式: Double CheckLock(DCL)实现单例 Bu...

  • 2018-04-08php实战设计模式

    一、单例模式 单例模式是最经典的设计模式之一,到底什么是单例?单例模式适用场景是什么?单例模式如何设计?php中单...

  • JAVA多线程之线程安全的单例模式

    概念:java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。单例模式有一...

  • IOS单例模式的底层原理

    单例介绍 本文源码下载地址 1.什么是单例 说到单例首先要提到单例模式,因为单例模式是单例存在的目的 单例模式是一...

  • 设计模式 - 单例模式

    设计模式 - 单例模式 什么是单例模式 单例模式属于创建型模式,是设计模式中比较简单的模式。在单例模式中,单一的类...

  • OC - 单例模式

    导读: 一、什么是单例模式 二、单例的作用 三、常见的单例类 四、自定义单例类的方法 一、什么是单例模式 单例模式...

  • Swift 和 Objective-C 单例模式详解

    单例模式分为严格单例模式和不严格单例模式。单例模式要求一个类有一个实例,有公开接口可以访问这个实例。严格单例模式,...

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

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

  • 设计模式之单例模式详解

    设计模式之单例模式详解 单例模式写法大全,也许有你不知道的写法 导航 引言 什么是单例? 单例模式作用 单例模式的...

网友评论

    本文标题:一、单例模式

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