美文网首页Android开发经验谈Android开发Android知识
java设计模式之单例模式实例讲解

java设计模式之单例模式实例讲解

作者: 黑n大 | 来源:发表于2017-09-27 12:20 被阅读35次

单例模式是应用最广的模式,在开发中,如果我们想要让一个类在nvm中只有一个实例的话,就设计成单例模式,单例模式能够减少资源的消耗,这对我们实际开发中很重要,所以我们要来学习一下这个模式。

单类模式的实现思路:

1.构造私有,用private修饰

2.通过一个静态方法返回这个对象

3.确保这个类的对象只有一个,尤其是在多线程下。

4.确保这个类在反序列化的时候不会被创建。

这就是实现思路,接下来我们看看具体的实现

第一种:饿汉式

这种实现直接new出该对象,不管我们需不需要,直接会有一个,保证这个类实例的唯一性,无论是否在多线程下,都是同一个对象。

第二种:懒汉式

这种可以看出,它并没有直接给出这个类的实例对象,而是我们需要的时候在创建,但是有一个问题就是在多线程的情况下,是不安全的,所以添加了synchronized的,保证了它的安全,但是又出现新的问题,就是每次我调用getInstance()时都会进行同步,造成一定的卡顿。

第三种:双重锁

这种事目前使用最多的单例实现的方式,双重同步锁,解决了懒汉式的问题。但是在有些书上说这种方式并不好,我也不是很懂,意思是有可能获取不到这个对象,但是概率很小很小。。。

第四种  静态类的方式

这种方式目前也是很多人用的方式,第一次加载该类时不会初始化sing,只有在调用getInstance()时才会加载Single类,这中方式不仅解决了线程问题,也保证了对象的唯一性。

以上就是单例模式的实现方式,大家可以根据自己的需求来选择合适的方式。

相关文章

  • 单例模式

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

  • JAVA设计模式之单例模式

    JAVA设计模式之单例模式

  • 【Java】设计模式 —— 深入浅出单例模式

    学习笔记 参考:深入浅出单实例SINGLETON设计模式单例模式【Java】设计模式:深入理解单例模式 场景:一般...

  • 单例模式

    java设计模式-单例模式 @(JAVA设计模式) 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行...

  • java单例模式

    java模式之单例模式: 一, 什么是单例模式 单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这...

  • java设计模式之单例模式实例讲解

    单例模式是应用最广的模式,在开发中,如果我们想要让一个类在nvm中只有一个实例的话,就设计成单例模式,单例模式能够...

  • Android中涉及的模式

    我的Java设计模式-建造者模式 我的Java设计模式-观察者模式 重学设计模式之单例模式

  • Java单例设计模式的理解与常规实现方式

    1:Java中单例模式是一种常见的设计模式,单例模式有以下特点: 单例类只能有一个实例。 单例类必须自...

  • JAVA设计模式 - 单例模式

    JAVA设计模式 - 单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一...

  • 详解Java单例模式5种实现方法

    单例模式是最简单的设计模式之一,也是Java面试的高频题,有的甚至要求手写单例模式,下面我们就来详细讲解Java单...

网友评论

    本文标题:java设计模式之单例模式实例讲解

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