java单例模式有什么用_java单例模式代码实现

java单例模式有什么用_java单例模式代码实现Java的单例实现方式经典:懒汉式、饿汉式、双重检测锁关键:私有化构造方法通过方法去获取单例对象懒汉(调用时再去初始化)、饿汉(直接初始化)Demo://饿汉式publicclassDemo1{privatestaticDemo1demo1=newDemo1();privateDemo1(){sout(“初始化”);}publicstaticDemo1getInstance(){returndemo1;}

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Java的单例实现方式

经典:懒汉式、饿汉式、双重检测锁
关键:

  1. 私有化构造方法
  2. 通过方法去获取单例对象
  3. 懒汉(调用时再去初始化)、饿汉(直接初始化)

Demo:

//饿汉式
public class Demo1 { 
   
  private static Demo1 demo1 = new Demo1();
  private Demo1() { 
   
    sout("初始化");
  }
  public static Demo1 getInstance() { 
   
    return demo1;
  }
}

//懒汉式
public class Demo2 { 
   
  private static Demo2 demo2;
  private Demo2() { 
   
    sout("init");
  }
  public static Demo2 getInstance() { 
   
    if(demo2 == null) { 
   
      demo2 = new Demo2();
    }
    return demo2;
  }
}

//双重检测锁
public class Demo3 { 
   
  private static Demo3 demo3;
  private Demo3() { 
   
    sout("init");
  }
  public static Demo3 getInstance() { 
   
    if(demo3 == null) { 
   
      synchronized(Demo3.class) { 
   
        if(demo3 == null) { 
   
          demo3 = new Demo3();
        }
      }
    }
    return demo3;
  }
}

单例模式的作用

  • 保证一个类只有一个实例,并且提供一个访问该全局访问点。
  • 因此可以节约系统资源,当需要频繁创建和销毁的对象时单例模式无疑可以提高系统的性能。
  • 避免对共享资源的多重占用。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169701.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python中的字符串切片(截取字符串)

                            字符串索引示意图字符串切片也就是截取字符串,取子串Python中字符串切片方法字符串[开始索引:结束索引:步长]切取字符串为开始索引到结束索引-1内的字符串步长不指定时步长为1字符串[开始索引:结束索引]练习样例#1.截取2-5位置的字符num_str_1=num_str[2:6]print(num_…

    2022年4月5日
    64
  • 移动应用界面设计的尺寸规范「建议收藏」

    移动应用界面设计的尺寸规范「建议收藏」移动应用的界面设计画布尺寸设计多大(特别是Android)、图标和字体大小怎么定、需要设计多套设计稿么、如何切图以配合开发的实现?本篇将结合iOS和android官方的设计规范、搜集的资料以及工作中的摸索,来分享移动应用界面设计中的尺寸规范等问题,希望能给移动端的新手设计师些许指引。若有不当之处,欢迎斧正。一、android篇1、android分辨率屏幕尺寸指实际的物理尺寸,为

    2022年6月21日
    25
  • 移动apn接入点哪个快(移动哪个接入点网速快)

    9条解答1.中国移动4g接入点最快我不同意,中国LTE才是最快的,就是流量怕你不够,名称:LTE,APN:lte(小写的),APN协议漫游协议lpv4,我的达到了2.5~3M/S,骗你出家2.4g网速很慢,求助apn设置方法您好!您先进入手机的接入点设置–新建apn接入点–名称乱填,apn:cmtds–保存保存之后,选择自己刚刚设置的接入点,然后您就会发现您自己的手机4G网络的速度很快了,…

    2022年4月12日
    463
  • 柴油发电机发电机组_柴油发电机配置规范

    柴油发电机发电机组_柴油发电机配置规范应急柴油发电机主要用于重要场所,在紧急情况或事故停电后瞬间停电,通过应急发电机组迅速恢复 并延长一段供电时间。这类用电负荷称为一级负荷。对断电时间有严格要求的设备、仪表及计算机系统,除配备发电机外还应设电池或UPS供电。应急柴油发电机的工作有两个特点:(1)第一个特点是作应急用,连续工作的时间不长,一般只需要持续运行几小时(≤12H);(2)第二个特点是作备用,应急发电机组平时处于停机等待状态,只…

    2022年10月2日
    0
  • 换BLOG了~http://hi.baidu.com/aekdycoin/blog

    换BLOG了~http://hi.baidu.com/aekdycoin/bloghttp://hi.baidu.com/aekdycoin/blog

    2022年7月23日
    13
  • 深入理解MySQL索引原理和实现——为什么索引可以加速查询?

    深入理解MySQL索引原理和实现——为什么索引可以加速查询?说到索引,很多人都知道“索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。”但是索引是怎么实现的呢?因为索引并不是关系模型的组成部分,因此不同的DBMS有不同的实现,我们针对MySQL数据库的实现进…

    2022年6月24日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号