public class Face { private static final Face instance = new Face(); static Face getInstance() { return instance; } private Face() { } }
public class Face { private static Face instance; static { instance = new Face(); } private Face() { } public static Face getInstance() { return instance; } }
public class Face { private static Face instance; private Face() { } public static Face getInstance() { if (null == instance) { instance = new Face(); } return instance; } }
public class Face { private static Face instance; private Face() { } public static synchronized Face getInstance() { if (null == instance) { instance = new Face(); } return instance; } }
public class Face { private static Face instance; private Face() { } public static Face getInstance() { if (null == instance) { synchronized (Face.class) { instance = new Face(); } } return instance; } }
public class Face { private static volatile Face instance; private Face() { } public static Face getInstance() { if (null == instance) { synchronized (Face.class) { if (null == instance) { instance = new Face(); } } } return instance; } }
public class Face { private static volatile Face instance; private Face() { } private static class FaceInstance { private static final Face faceInstance = new Face(); } public static Face getInstance() { return FaceInstance.faceInstance; } }
可以减少系统内存开支,减少系统性能开销,避免对资源的多重占用、同时操作