首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java中的方式 -单态 (部分翻译 double-checked locking break)

2012-11-06 
Java中的模式 --单态 (部分翻译 double-checked locking break)?Java中的模式 --单态 (部分翻译 double-ch

Java中的模式 --单态 (部分翻译 double-checked locking break)

?

Java中的模式 --单态 (部分翻译 double-checked locking break)

单态定义:
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

Singleton模式就为我们提供了这样实现的可能。使用Singleton的好处还在于可以节省内存,因为它限制了
实例的个数,有利于Java垃圾回收(garbage collection)。

使用Singleton注意事项:
有时在某些情况下,使用Singleton并不能达到Singleton的目的,如有多个Singleton对象同时被不同的类
装入器装载;在EJB这样的分布式系统中使用也要注意这种情况,因为EJB是跨服务器,跨JVM的

?

一:懒汉式单例模式

参考:http://www.ibm.com/developerworks/cn/java/j-dcl.html


(注意:在这里补充一下,现在单态模式其实有一个写法是不错的见这里:http://www.blogjava.net/dreamstone/archive/2007/02/27/101000.html,但还是建议看完这篇文章,因为解释的事情是不一样的,这里说的是为什么double-checked不能使用.)
1,首先最简单的单态模式,单态模式1

?Java中的方式 -单态 (部分翻译 double-checked locking break)
public   class  Singleton  {      static   class  SingletonHolder  {            static  Singleton instance  =   new  Singleton();       }       public   static  Singleton getInstance()  {             return  SingletonHolder.instance;        }  }   

热点排行