【JavaEE精炼宝库】多线程单例模式 | 指令重排序 | 阻塞队列
warning:
这篇文章距离上次修改已过189天,其中的内容可能已经有所变动。
// 单例模式示例:懒加载、线程安全的日志记录器
public class Logger {
// 私有构造函数确保外部无法直接实例化
private Logger() {}
// 使用内部类来延迟加载实例
private static class SingletonHolder {
// 初始化日志记录器实例
static final Logger LOGGER = new Logger();
}
// 提供公有的静态方法,用于获取实例
public static Logger getLogger() {
return SingletonHolder.LOGGER;
}
// 日志记录方法
public void log(String message) {
// 实际的日志记录逻辑
System.out.println("Log: " + message);
}
}
// 在程序中使用懒加载线程安全的日志记录器
public class Application {
public static void main(String[] args) {
// 获取日志记录器实例
Logger logger = Logger.getLogger();
// 记录日志
logger.log("This is a test log message.");
}
}
这个示例展示了如何使用内部类来实现单例模式,这种方式既能确保懒加载(Lazy Loading),又能保证线程安全。这是一种广泛使用的单例模式实现方式,对于需要频繁使用的对象,如日志记录器等,推荐使用这种模式。
评论已关闭