Я понимаю, что двойная блокировка в Java нарушена, поэтому каковы наилучшие способы сделать Singletons Thread Safe в Java? Первое, что приходит мне в голову:
class Singleton{
    private static Singleton instance;
    private Singleton(){}
    public static synchronized Singleton getInstance(){
        if(instance == null) instance = new Singleton();
        return instance;
    }
}
Это работает? если это так, это лучший способ (я думаю, это зависит от обстоятельств, поэтому, если лучше указать конкретный метод, было бы полезно)
