标签:技术分享 厨房 需要 ima 笑话 是什么 没有 blog 是你
提到单例模式的话相信很多人都不会陌生,一般初级程序员也知道懒汉模式和饿汉模式。
那么她的代码是怎么实现的呢?
这就是饿汉模式。但是这个有一个问题,是什么呢?那就是如果我只想要这个类的一个静态方法,那么当我在调用这个静态方法时,这个对象也就被创建了,那么这无疑是耗费内存的。就好比我给别人介绍一个房子,说这房子怎么样,厨房排风系统很好。这时主人突然就跑了出来,快买快买。这就尴尬了。就好比这个冷笑话。
那么既然饿汉有点不能满足,试试懒汉模式吧。懒汉模式就是用的时候再去加载。就好比刚才我给别人介绍了房子的各种好,客人终于动心了就想买,这时候房子主人才出来和客人进行下一步的沟通。好我们继续看代码。
这就是懒汉模式,这个由于没有静态块那么就不会再类加载时就创建对象。只有调用这个方法时候才创建对象,而且需要判断,就好比客人说接下来就和主人谈吧,主任说谈过了就和以前那个谈。没谈过我现在就出来(这个例子是呼应那个判断。感觉有点欠火候)总觉得判断有点不够简洁,不仅有人要说了:就你事多!不判断哪知道要不要创建对象。
那么有没有既能可以调用其他方法不创建对象,又能创建对象不需要判断 就是同时修改了饿汉和懒汉的缺点的。有的!请看
看到没,他就避免了两个缺点,集美貌与优雅于一身。相对饿汉的静态块,他用了静态内部类。相对于懒汉的每次调静态方法都要进行判断,他采取静态内部类保证只之初创见一次对象。perfect!
标签:技术分享 厨房 需要 ima 笑话 是什么 没有 blog 是你
原文地址:http://www.cnblogs.com/houdong-now/p/7501977.html