通过enum创建单例模式,是不是最简洁的方式?

 public enum SessionFactory {
    HttpSession,HibernateSession;
}

这种方式在应用的时候会有什么问题?

1.因为jvm对枚举的加载机制,导致其单例的有效性;
2.枚举和java类没有多大区别,枚举的父类是java.lang.Enum;

所以单例模式可以使用枚举来实现的,就是对象的初始化不由自己控制,不能实现懒加载等。
如果对象加载不涉及很多复杂业务,那么没有懒加载起始也没什么影响。

希望可以帮到你....