Java单例设计模式

单例设计模式:保证一个类仅有一个示例,并提供一个访问它的全局访问点。

  1、构造方法私有化

  2、声明一个本地对象

  3、给外部提供一个实例方法获取对象实例

 

两种实现方式:

  1、饿汉式:在类被加载后,对象被创捷,程序结束后被释放

  2、懒汉式:在第一次调用 getInstance  方法时,对象被创建,程序结束后释放

 

在项目中为什么要使用单例模式,单例模式有什么好处?

  目的是为了尽可能减少频繁创建对象带来的内存消耗,提高效率。

  工具类会频繁被调用,在设计工具类(工具类只有功能方法,没有属性)的时候,常使用单例模式。

 

//饿汉式,占用内存时间长,效率高

public class Singleton{
   
   private Singleon(){

   }
  private static Singleton s = new Singleton();
  public Singleton getInstance(){
     return s;  
  }

 public static void main(String args[]){
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance(); // s1==s2 ,单例模式只能获取一个实例对象
} }

 

//懒汉式,占用内存时间短,效率低(懒加载,延迟加载)
//在多线程访问时,存在安全问题
public class Singleton{ private Singleton(){ } private static Singleton s; public Singleton getInstance(){ if(s==null){ s = new Singleton(); } return s; } }

 

posted @ 2022-05-09 15:24  藤原豆腐渣渣  阅读(32)  评论(0编辑  收藏  举报