JAVA设计模式

一、单例模式

1、饿汉式(在类初始化时直接创建对象,不存在线程安全)

     (1) 直接实例化

复制代码
public class Sigleton{
    
   //声明一个静态变量
   public static  final Sigleton INSTANCE =new Sigleton();

   //私有化构造方法
   private Sigleton(){}
  

}
复制代码

 

    (2) 静态代码块饿汉式

复制代码
public class Sigleton{

   public static final Sigleton INSTANCE;
  

//静态代码块
static{ instance=new Sigleton(); } //私有化构造方法 private Sigleton(){ } }
复制代码

 

2、懒汉式(需要时构建)

   (1) 线程不安全

复制代码
public class Sigleton{

    //私有化静态变量
   private static Sigleton instance;
  

   //私有化构造方法
   private Sigleton(){}

   //创建一个获取实例的静态方法
  public static Sigleton getInstance(){
      if(instance==null){
            instance=new Sigleton();
      } 
      return instance;
  }
   
}
复制代码

 

(2)静态内部类形式(线程安全)

 

复制代码
public class Sigleton{


     //私有化构造器
    private Sigleton(){}
  
   //创建内部静态类
   private static class Inner{
       private static final Sigleton INSTANCE=new Sigleton();
   }
   
   //创建获取类的静态方法
   public static Sigleton getInstance(){
       return Inner.INSTANCE;
   }

}
复制代码

 

posted @   yvioo  阅读(149)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示