黑马程序员技术交流社区

标题: 问一个单例设计模式的问题 [打印本页]

作者: 徐杨    时间: 2011-11-20 00:11
标题: 问一个单例设计模式的问题
利用枚举  
enum a{
A
}
只有一个对象 这样设置的单例模式
和普通的单例模式
懒汉式
class Single
{
        private static Single s = null;
        private Single(){}
        public static Single getInstance()
        {
                if(s==null)
                        s = new Single();
                return s;
        }
}
在使用上有什么区别???还是有什么局限性?
作者: moonlight    时间: 2011-11-20 13:32
我觉得没有太大的区别。现在的开发一般都是使用饿汉式了,你说的enum枚举型也被慢慢去取代了。
作者: 崔浩    时间: 2011-11-21 08:15
其实两者都能实现单例的目的,只是枚举的实现jvm对其实现了封装,jvm实现了线程同步。而懒汉式需要手工实现线程同步,延迟加载,(同步锁需要判断)性能不是很好,但是使用枚举类,枚举定义的单例对象,是全局的,假设这个枚举类占用的内存消耗比较大的话,占用内存的时间还是比较长的:在性能和内存消耗上选择




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2