public class MySingletonSimple { private Object instance; private MySingletonSimple() {} static { instance = new MySingletonSimple(); } public Object getInstance() { if( instance == null ) { // not need it it wont be null as loaded in static block // if created in constructor wont be thread-safe instance = new Object(); } return instance; } }