java Singleton单例模式

本文探讨了在Java中实现Singleton单例模式时,如何达到延迟加载的效果。指出简单的手动实现已经实现了延迟加载,无需双重检查。同时强调传统的双重检查在Java内存模型下并不适用,真正的延迟加载应借助Java的ClassLoader机制。在Java 8及更高版本,`getInstance()`的首次调用才会触发构造方法,实现单例的创建。
摘要由CSDN通过智能技术生成

简单手动实现单例模式时,如下,其实已经实现了延时加载,无需再引用双重检查
没有饿汉式了,因为JVM本身就是懒加载static变量的,也无需手动实现双重检查
而且实际上,如下的双重检查根本不成立,由于Java的内存模型,双重检查在这里不成立。要真正实现延迟加载,只能通过Java的ClassLoader机制完成。

public static Singleton getInstance() {
   
    if (INSTANCE == null) {
   
        synchronized (Singleton.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值