Explain the Singleton Pattern and when you would use it.

Beginner

Answer

The Singleton pattern ensures that a class has only one instance and provides global access to that instance.

When to use:

  • Database connections
  • Logger instances
  • Configuration settings
  • Thread pools

Basic implementation:

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