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

复制代码
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;
    }
}
相关推荐
Brilliantwxx2 分钟前
【C++】模版进阶(特化+分离编译+非类型模版参数)
开发语言·数据结构·c++·算法
折哥的程序人生 · 物流技术专研4 分钟前
《Java面试85题图解版(三)》上篇:高阶架构设计篇
java·开发语言·后端·面试·职场和发展
枫叶丹49 分钟前
【HarmonyOS 6.0】模拟点击检测:鸿蒙6.0全面狙击自动化作弊行为
开发语言·华为·自动化·harmonyos
吴声子夜歌11 分钟前
Java——ArrayDeque
java·arraydeque
坚果派·白晓明11 分钟前
【鸿蒙PC三方库移植适配框架解读系列】第六篇:关键注意事项与最佳实践
c语言·开发语言·c++·华为·harmonyos·开源鸿蒙
NagatoYukee17 分钟前
Spring/SpringMVC/SprongBoot知识复习
java·数据库·spring
zhangfeng113318 分钟前
scp 命令的使用方法 什么软件支持 .git bash xshell .openssh
开发语言·git·bash
泓博28 分钟前
docker ubuntu源码安装openclaw的常见问题
java·linux·开发语言·ai
YuanDaima204829 分钟前
WSL2 核心中间件部署实战:MySQL、Redis 与 RocketMQ
java·数据库·人工智能·redis·python·mysql·rocketmq
li星野29 分钟前
二叉树十题通关:从层序遍历到序列化(Python + C++)
开发语言·c++·python·学习