利用两种方式分别实现单例模式(懒汉式、饿汉式)

复制代码
package testsingle;
    //实现单例的两种方式
public class TestMySingle {
    public static void main(String[] args) {
        ClassA ca1 = ClassA.getClassA();
        ClassA ca2 = ClassA.getClassA();
        System.out.println(ca1==ca2);
        ClassB cb1 = ClassB.getClassB();
        ClassB cb2 = ClassB.getClassB();
        System.out.println(cb1==cb2);
    }
}
class ClassA{       //饿汉式
    private static final ClassA ca = new ClassA();
    private ClassA(){}
    public static ClassA getClassA(){
        return ca;
    }
}
class ClassB{       //懒汉式
    private static  ClassB cb ;
    private ClassB(){}
    public synchronized static ClassB getClassB(){
        if(cb==null){
            cb = new ClassB();
        }
        return cb;
    }
}
相关推荐
曹牧5 分钟前
C#:姓名脱敏
开发语言·c#
缺点内向6 分钟前
C# 中 Word 文档目录的插入与删除指南
开发语言·c#·word·.net
r***d8657 分钟前
Rust宏编程指南
开发语言·后端·rust
czhc114007566315 分钟前
C# 1120抽象类 static
java·开发语言·c#
whltaoin21 分钟前
【 Java微服务 】Spring Cloud Alibaba :Nacos 注册中心与配置中心全攻略(含服务发现、负载均衡与动态配置)
java·微服务·nacos·springcloud·注册中心·配置中心
你不是我我23 分钟前
【Java 开发日记】有了解过 SpringBoot 的参数配置吗?
java·开发语言·spring boot
稚辉君.MCA_P8_Java31 分钟前
Gemini永久会员 Java HotSpot 虚拟机(JVM)的优点
java·jvm·后端
ivanfor66633 分钟前
多租户架构的三级权限体系:设计逻辑与精准控制实现
java·开发语言·数据库
zzzsde42 分钟前
【C++】C++11(1):右值引用和移动语义
开发语言·c++·算法
学困昇42 分钟前
C++11中的包装器
开发语言·数据结构·c++·c++11