How to write a Singleton in proper manner?

后端 未结 13 1130
走了就别回头了
走了就别回头了 2020-12-23 12:03

Today in my interview one interviewer asked me to write a Singleton class. And i gave my answer as

public class Singleton {

    private static Singleton re         


        
13条回答
  •  抹茶落季
    2020-12-23 12:56

    A thread safe version of the OPs initial approach, plus no one else dared to suggest a synchronized statement.

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

提交回复
热议问题