java 单例模式 —饿汉式懒汉式

java 单例模式 —饿汉式懒汉式目录单例设计模式饿汉式懒汉式饿汉式vs懒汉式结语单例设计模式所谓单例设计模式,就是采取一定的方法在整个软件系统中,对某个类只能存在一个对象实例1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。饿汉式饿汉式:在程序启动或单例模式类被加载的时候,单例模式实例就已经被创建。上例子!packagecom.happy.demo;publicclassSingleton…

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

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

目录

单例设计模式

饿汉式

懒汉式

饿汉式vs懒汉式

结语


单例设计模式

所谓单例设计模式,就是采取一定的方法在整个软件系统中,对某个类只能存在一个对象实例

1、单例类只能有一个实例

2、单例类必须自己创建自己的唯一实例。

3、单例类必须给所有其他对象提供这一实例。

饿汉式

饿汉式:在程序启动或单例模式类被加载的时候,单例模式实例就已经被创建。

 上例子!

package com.happy.demo;


public class SingletonTest{
  public static void main(String[] args){

  happy h1 = happy.getInstance();
  happy h2 = happy.getInstance();
  System.out.println(h1 == h2);//true
  }
}
//this is 饿汉式~
class happy{
   //1.私有化类的构造器
  private happy(){

  }
  
  //2.内部创建类的对象
  //3.要求此对象也必须声明为静态的
  private static happy instance = new happy();

  //4.提供公共的静态的方法,返回类的对象
  public static happy getInstance(){
      return instance;
  }
}

懒汉式

懒汉式:当程序第一次访问单例模式实例时才进行创建。

废话不多说,上代码!

package com.happy.demo;


public class SingletonTest{
  public static void main(String[] args){

  nice h1 = nice.getInstance();
  nice h2 = nice.getInstance();
  System.out.println(h1 == h2);//true
  }
}
//this is 懒汉式~
class nice{
   //1.私有化类的构造器
  private nice(){

  }
  
  //2.声明当前类对象,没有初始化
  //3.要求此对象也必须声明为static的
  private static nice instance = null;

  //4.声明public,static的放回当前类对象的方法
  public static nice getInstance(){
	  if(instance == null){
		  instance = new nice();
	  }
      return instance;
  }
}

饿汉式vs懒汉式

区分饿汉式和懒汉式水
饿汉式:
坏处:对象加载时间过长。
好处:饿汉式是线程安全的

懒汉式:好处:延迟对象的创建。
坏处:线程不安全—>到多线程内容时,再修改

 

 注意:如果一个对象使用频率不高,占用内存还特别大,明显就不合适用饿汉式了,这时就需要一种懒加载的思想,当程序需要这个实例的时候才去创建对象,就如同一个人懒的饿到不行了才去吃东西。

结语

一起加油冲冲冲~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • dell服务器服务器数据丢失后,数据恢复

    dell服务器服务器数据丢失后,数据恢复dell服务器数据丢失后,一般情况下数据都是可以100%恢复的,因此切记勿对服务器硬盘调换顺序,强制上线,重组等任何危险操作,否则将有可能对原有数据造成二次破坏,永久性不可恢复。 DELL服务器主要有:塔式服务器,刀片式服务器,机架式服务器等几种产品系列。  一:戴尔DELL服务器数据恢复常见故障现象:  1:戴尔DELL服务器磁盘阵列信息丢失,造成整台服务器无法启动;  2:戴尔

    2022年6月29日
    32
  • mysql longtext问题

    mysql longtext问题各位大神们,我把数据库中content的类型设置成了text了,然后我像里面插入数据,为什么我用select查询去没有结果只显示blob具体的如图所示1234

    2022年5月15日
    49
  • QTreeView样式[通俗易懂]

    QTreeView样式[通俗易懂]1、无样式2、设置被选中节点的字体颜色和背景颜色QTreeView::item:selected{color:#E7ECF0;background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0#667481,stop:1#566373);}3、设置悬浮节点的字体颜色和背景颜色QTreeView::item:hover{color:#ffffff;background:#ff0000;}4、设置节点的上下左右的内

    2022年5月29日
    338
  • mongodb服务启动失败_mongodb启动不了

    mongodb服务启动失败_mongodb启动不了在操作前需要启动mongodb数据库服务1.首先打开dos窗口,然后选择路径到你的安装路径下的bin目录(我的路径是的D:mongo\mongodb\bin)2.然后输入启动命令(D:mongo\data\db是我的数据库文件的目录前边两个–不能少)mongod–dbpathD:mongo\data\db3.回车dos界面出现12701的字样说明服务启动成功了如…

    2022年4月19日
    188
  • mac系统pycharm配置python环境_mac pycharm怎么设置环境

    mac系统pycharm配置python环境_mac pycharm怎么设置环境安装了pycharm,创建了测试项目,发现python的版本是2.6.9的,系统自带的版本好像是2.7的,为什么怎么样,怎么切换到2.7看了一下系统到底装了些什么版本居然有两个版本接下来设置解释器的路径Pycharm>Preferences>Build,Excution,Deployment>Console>PythonConsole设

    2022年8月25日
    12
  • 第二章_session管理

    第二章_session管理

    2022年1月5日
    48

发表回复

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

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