首页 > 其他分享 >懒汉单例模式

懒汉单例模式

时间:2024-01-21 21:44:24浏览次数:30  
标签:getInstance System 模式 instance SingleInstance 单例 println 懒汉

 1 public class SingleInstance {
 2     /**
 3      *  懒汉单例模式:当真正需要该对象的时候,才去创建一个对象(延迟加载对象)
 4      *  1.定义一个类,把构造器私有
 5      *  2.定义一个静态变量存储一个对象
 6      *  3.提供一个返回单例对象的方法
 7      */
 8     //  创建一个静态变量存储对象
 9     private static SingleInstance instance;
10 
11     //  私有化构造器
12     private SingleInstance(){}
13 
14     //  定义一个方法,让其他地方可以用来调用获取一个对象
15     public static SingleInstance getInstance(){
16         if (instance == null){
17             instance = new SingleInstance();
18         }
19         return instance;
20     }
21 }
 1     //  测试懒汉单例
 2     public static void main(String[] args) {
 3         SingleInstance instance1 = SingleInstance.getInstance();
 4         SingleInstance instance2 = SingleInstance.getInstance();
 5         SingleInstance instance3 = SingleInstance.getInstance();
 6 
 7         System.out.println(instance1);
 8         System.out.println(instance2);
 9         System.out.println(instance3);
10         System.out.println(instance1 == instance3);
11     }

 

标签:getInstance,System,模式,instance,SingleInstance,单例,println,懒汉
From: https://www.cnblogs.com/dsds/p/17978432

相关文章

  • Seata 2.x 首个版本正式发布,支持 Raft 集群模式
    作者:Seata社区用户登记欢迎已使用用户在此链接登记,便于我们更好的针对业务场景优化:https://github.com/seata/seata/issues/12462.x Roadmap发布概览2.0.0中对大家期待已久的Raft集群模式做了支持,Raft集群模式消除了对第三方注册中心和Seata-Server后端存储的依赖,......
  • 饿汉单例模式示例
    1publicclassSingleInstance{2/*3饿汉单例模式:在用类创建对象的时候,对象就已经准备好了41.定义一个类,把构造器私有52.定义一个静态变量存储一个对象6*/7publicstaticSingleInstanceinstance=newSingl......
  • 代理模式
    定义:为其他对象提供一种代理,以控制对这个对象的访问,代理对象在客户端和目标对象之间起到中介作用类型:结构型适用场景:保护目标对象增强目标对象优点:代理模式能将代理对象与真实被调用的目标对象分离一定程度上降低了系统的耦合度,扩展性好保护目标......
  • 设计模式—行为型模式之观察者模式
    设计模式—行为型模式之观察者模式观察者模式(ObserverPattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模......
  • js设计模式之观察者模式
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>观察者模式</title></head><body><script>classEvent{constructor(){}//事件容器,可以是一个也可以是......
  • Centos7 nat网络模式静态ip配置。
    配置流程:1.本机找到 VMwareNetworkAdapterVMnet8,然后配置ipv4: 2:vm里找到编辑->虚拟网络编辑器,然后按第一步里配置的信息来配置 VMwareNetworkAdapterVMnet8里的网关这些。   3:进入centos7系统,配置ifcfg-ens33,vi /etc/sysconfig/network-scripts/ifcfg......
  • 《图解设计模式》PDF
    内容简介原版连续畅销12年、重印25次!194张图表+Java示例代码=轻松理解GoF的23种设计模式《程序员的数学》《数学女孩》作者结城浩又一力作◆图文并茂194张图表(包括57张UML类图)穿插文中,帮助理解各设计模式◆通俗易懂用浅显的语言逐一讲解23种设计模式,读完此书会......
  • Spring Boot 中使用Caffeine缓存的简单例子
    Caffeine缓存是Java的高性能缓存库。本文简单记录下Caffeine缓存的用法。依赖配置<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency&g......
  • 软件测试/测试开发/全日制|Page Object模式:为什么它是Web自动化测试的必备工具
    为UI页面写测试用例时(比如web页面,移动端页面),测试用例会存在大量元素和操作细节。当UI变化时,测试用例也要跟着变化,PageObject很好的解决了这个问题。使用UI自动化测试工具时(包括selenium,appium等),如果无统一模式进行规范,随着用例的增多会变得难以维护,而PageObject让自......
  • 桥接模式
    定义:将抽象部分与它的具体实现部分分离,使它们都可以独立的变化,通过组合的方式建立两个类之间的联系,而不是继承类型:结构型适用场景:抽象和具体实现之间增加更多的灵活性一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展不希望使用继承,或......