singleton in Java

The following is an example rewrite of this method using doubleā€checked locking:   
```
class Singleton {
    private static Singleton instance = null;
    public static Singleton getInstance() {
        if(instance == null) {
            synchronized(Singleton.class) {
                if(instance == null) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}

public class Main {
    public static void main(String args[]) {
        Singleton s = Singleton.getInstance();
    }
}
```