Tutorial by Examples

Java SE 5 public enum Singleton { INSTANCE; public void execute (String arg) { // Perform operation here } } Enums have private constructors, are final and provide proper serialization machinery. They are also very concise and lazily initialized in a thread safe manne...
This type of Singleton is thread safe, and prevents unnecessary locking after the Singleton instance has been created. Java SE 5 public class MySingleton { // instance of class private static volatile MySingleton instance = null; // Private constructor private MySingleton()...
public class Singleton { private static final Singleton INSTANCE = new Singleton(); private Singleton() {} public static Singleton getInstance() { return INSTANCE; } } It can be argued that this example is effectively lazy initialization. Section 12.4.1 of ...
public class Singleton { private static class InstanceHolder { static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return InstanceHolder.INSTANCE; } private Singleton() {} } This initializes the INSTANCE vari...
In this example, base class Singleton provides getMessage() method that returns "Hello world!" message. It's subclasses UppercaseSingleton and LowercaseSingleton override getMessage() method to provide appropriate representation of the message. //Yeah, we'll need reflection to pull this ...

Page 1 of 1