https://43.205.40.8/java/singleton-design-pattern-in-java/
Different ways of implementing Singleton Design Pattern in Java