个人博客地址:Java 单例模式 | 一张假钞的真实世界
单例模式是 Java 程序设计最常用的设计模式之一。在 Java 语言中,单例模式有几种不同的实现方式。从实例创建时机分为两大类:
- 懒汉式:在需要时才创建类唯一的实例。
- 饿汉式:在类文件加载时创建类唯一的实例。
一、懒汉式
根据有锁、无锁及锁级别的不同可以有三种实现方式。
1、最简单的实现
public class Singleton {
private Singleton() {}
private static Singleton single=null;
public static Singleton getInstance() {
if (single == null) {
single = new Singleton();
}
return single;
}
}
该方法通过私有化构造方法,并且提供生成类对象的静态 getInstance 方法来保证该类只生成一个实例。
但是,这种方式只能用在非多线程并发的场景。
2、方法锁的实现
为了解决实现 1 不能在多线程场景下使用的问题,给 getInstance 方法做线程同步是一种简单的实现方式。
public class Singleton {
private Singleton() {}
private static Singleton single=null;
public static synchronized Singleton getInstance() {
if (sing

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



