java单例模式

Posted 练习两年半的攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java单例模式相关的知识,希望对你有一定的参考价值。

单例模式

就是始终是一个对象实例.它对外不提供构造函数,因此我们不能够同时产生多个对象.(常用语工具类,数据库连接类等等)

单例模式的调用:因为单例模式的构造方法是私有的,所以在其他类中我们是没有办法直接实例化它的.但是又因为她对外提供了一个获取类实例的方法,所以不论有多少类调用,他对外只可能产生一个类的实例

在People类中;创建静态私有对象p;创建getInstance()方法来返回对象p;其他类可以直接调用getInstance()方法获取对象p。

快加载单例模式

public class People{
    private static People p = new People();
    private People(){
    }
    public static People getInstance(){
        return p;
    }
}

  

慢加载单例模式

public class People{
   private static People p;
   private People(){

  }
    public static People getInstance(){
       if(p == null){
            p = new People();
        }
       return p;
   }
}
 

好处:减少系统资源的消耗.因为这种工具类基本上贯穿程序始终,必然会频繁调用.如果每一次调用都要重新生成实例,带来的就是 在内存堆中,分配一部分内存空间.所以这种模式会提高程序的运行速度,减少资源消耗

以上是关于java单例模式的主要内容,如果未能解决你的问题,请参考以下文章

java 单例模式这个要怎么理解?

Java中的单例模式

Java设计模式--单例模式(代码详解懒汉饿汉模式)

Java设计模式之单例模式

Java 设计模式——单例模式 理论代码相结合

常用代码片段