单例模式代码简单演示

复制代码
package org.singletonBean;

public class PrivateBean {
    public static PrivateBean singletonBean = new PrivateBean();
    private PrivateBean(){
    }

}

可以看到上面演示了一个简单的单例模式的代码设计,通过私有构造器+静态属性,对一个类的实例进行了全局访问限制,来确保项目中这个类对应的实例只会在堆内存中开辟一块空间

下面是main的方法调用演示

复制代码
package org.singletonBean;

public class Test {
    public static void main(String[] args) {
        PrivateBean p1 = PrivateBean.singletonBean;
        System.out.println(p1);
        PrivateBean p2 = PrivateBean.singletonBean;
        System.out.println(p2);
    }
}

打印结果

复制代码
org.singletonBean.PrivateBean@340f438e
org.singletonBean.PrivateBean@340f438e

可以看到两份内存地址是相同的,并且由于static,我们当前设计的一个简单的单例模式已经成功了

相关推荐
许彰午6 小时前
95_Python内存管理与垃圾回收
开发语言·python
csdn2015_6 小时前
springboot读取配置的方法
java·spring boot·spring
多加点辣也没关系6 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜6 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
AOwhisky6 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
chouchuang8 小时前
day-030-综合练习-笔记管理器
开发语言·笔记·python
云云只是个程序马喽8 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
云空9 小时前
《Three.js 3D实例大全》
开发语言·javascript·3d·three.js
techdashen9 小时前
Go 1.26 新增 `bytes.Buffer.Peek`:只看数据,不移动读取位置
开发语言·后端·golang
C137的本贾尼9 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件