纸上得来终觉浅,绝知此事要躬行。

— 陆游

1. Java 基础

2. Java 面向对象

3. Java 集合框架

4. Java 多线程与并发

5. Java IO 与 NIO

6. Java 虚拟机(JVM)

7. Java 设计模式

7.1. 什么是单例模式

单例模式确保一个类在整个应用中只存在一个实例,避免重复创建对象,节约资源并保证行为一致性。

7.2. 核心特点

  • 构造方法私有(private)

  • 自行创建实例

  • 提供全局访问方法

  • 线程安全

7.3. 适用场景

  • 配置信息类

  • 数据库连接池

  • 线程池

  • 日志工具类

  • Spring Bean 默认作用域

7.4. 饿汉式

public class Singleton {
    private static final Singleton INSTANCE = new Singleton();
    private Singleton() {}
    public static Singleton getInstance() {
        return INSTANCE;
    }
}

7.5. 懒汉式(线程不安全)

public class Singleton {
    private static Singleton instance;
    private Singleton() {}
    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

7.6. 懒汉式(线程安全)

public class Singleton {
    private static Singleton instance;
    private Singleton() {}
    public static synchronized Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

7.7. 双重检查锁 DCL

public class Singleton {
    private static volatile Singleton instance;
    private Singleton() {}
    public static Singleton getInstance() {
        if (instance == null) {
            synchronized (Singleton.class) {
                if (instance == null) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}

7.8. 静态内部类单例

public class Singleton {
    private Singleton() {}
    private static class Holder {
        private static final Singleton INSTANCE = new Singleton();
    }
    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

8. Java 算法与数据结构

9. Java 面试题解析

10. Java 项目实战

11. Spring 核心原理

12. Spring Boot 开发

13. MyBatis 与持久层

14. 微服务基础

15. 代码规范与最佳实践