单例模式代码简单演示

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

相关推荐
drebander11 分钟前
使用 Java Stream 优雅实现List 转化为Map<key,Map<key,value>>
java·python·list
乌啼霜满天24914 分钟前
Spring 与 Spring MVC 与 Spring Boot三者之间的区别与联系
java·spring boot·spring·mvc
tangliang_cn20 分钟前
java入门 自定义springboot starter
java·开发语言·spring boot
程序猿阿伟21 分钟前
《智能指针频繁创建销毁:程序性能的“隐形杀手”》
java·开发语言·前端
Grey_fantasy30 分钟前
高级编程之结构化代码
java·spring boot·spring cloud
新知图书32 分钟前
Rust编程与项目实战-模块std::thread(之一)
开发语言·后端·rust
威威猫的栗子34 分钟前
Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画
开发语言·python
力透键背34 分钟前
display: none和visibility: hidden的区别
开发语言·前端·javascript
bluefox197935 分钟前
使用 Oracle.DataAccess.Client 驱动 和 OleDB 调用Oracle 函数的区别
开发语言·c#
弗锐土豆37 分钟前
工业生产安全-安全帽第二篇-用java语言看看opencv实现的目标检测使用过程
java·opencv·安全·检测·面部