单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。在Java中,实现单例模式有多种方式,以下是一个常见的笔试题目:
题目:使用Java实现一个线程安全的单例模式。
解答:下面是一个简单的线程安全的单例模式实现,使用双重检查锁(double-checked locking)来确保线程安全性。
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;
    }
}
在这个例子中,我们使用了volatile关键字来确保多线程环境下对instance变量的可见性。在getInstance方法中,我们使用双重检查锁来保证只有在instance为null时才创建新的实例,
从而避免多个线程同时创建多个实例的问题。
这种方式是一种常见的线程安全的单例模式实现方式,但也有其他的实现方式,比如使用静态内部类、枚举等。在面试中,除了实现单例模式,面试官可能还会询问单例模式的优缺点、线程安全性、延迟初始化等相关问题,因此在准备面试时需要对单例模式有一个全面的了解。