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

复制代码
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;
    }
}
相关推荐
学心理学的程序员3 分钟前
anydoc:Firecrawl 出的 Rust 文档转 Markdown,4ms 转换、14 种格式干翻 MarkItDown
开发语言·后端·rust·开源·firecrawl·claude code·anydoc
让学习成为一种生活方式8 分钟前
ASTRAL v5.7.1--生信工具110
java
2501_9378609413 分钟前
从JDBC到数据访问:Java数据库编程完全指南
java·开发语言·数据库
FfHUCisI15 分钟前
Golang SSA 中间表示与优化 Pass
开发语言·后端·golang
JacksonMx19 分钟前
Java 服务调用下游接口注意点
java·开发语言
许彰午22 分钟前
08-条件拼接规则
java·低代码·架构
兔兔兔兔126 分钟前
记录C++ 11
开发语言·c++
码匠许师傅33 分钟前
【C++ 面试真题】32. 聊聊 C++ 的原子变量与无锁编程
java·c++·面试
撩得Android一次心动37 分钟前
Kotlin 语言【知识点整理2】
android·开发语言·kotlin
不会就选b41 分钟前
Linux之线程池(一)
java·开发语言