单例模式代码简单演示

复制代码
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,我们当前设计的一个简单的单例模式已经成功了

相关推荐
m0_748248023 分钟前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
java·开发语言·c++·算法
aloha_78911 分钟前
测试开发工程师面经准备(sxf)
java·python·leetcode·压力测试
我命由我1234533 分钟前
Java 并发编程 - Delay(Delayed 概述、Delayed 实现、Delayed 使用、Delay 缓存实现、Delayed 延迟获取数据实现)
java·开发语言·后端·缓存·java-ee·intellij-idea·intellij idea
HLJ洛神千羽34 分钟前
C++程序设计实验(黑龙江大学)
开发语言·c++·软件工程
北城以北888834 分钟前
SSM--MyBatis框架之缓存
java·缓存·intellij-idea·mybatis
kyle~39 分钟前
算法数学---差分数组(Difference Array)
java·开发语言·算法
曹牧40 分钟前
C#:三元运算符
开发语言·c#
曹朋羽1 小时前
Spring EL 表达式
java·spring·el表达式
Jonathan Star1 小时前
MediaPipe 在Python中实现人体运动识别,最常用且高效的方案是结合**姿态估计**(提取人体关键点)和**动作分类**(识别具体运动)
开发语言·python·分类
滨HI01 小时前
C++ opencv拟合直线
开发语言·c++·opencv