最优的单例应该是这种基于static 内部类的实现 public class Test { public static Test getInstance() { return InnerContainer.test; } private static class InnerContainer { static Test test = new Test(); } public static void main(String[] args) { Test intance1 = Test.getInstance(); Test intance2 = Test.getInstance(); System.out.println(intance1); System.out.println(intance2); } }
public class Test {
public static Test getInstance() {
return InnerContainer.test;
}
private static class InnerContainer {
static Test test = new Test();
} public static void main(String[] args) {
Test intance1 = Test.getInstance();
Test intance2 = Test.getInstance();
System.out.println(intance1);
System.out.println(intance2);
}
}