如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Java技术之Singleton的处理Singleton(单例模式)Intent:Ensureaclassonlyhasoneinstance,andprovideaglobalpointofaccessofit.很多时候我们要保证类的实例只有一个。我们可能在自己的代码中判断需要的类的实例有无,无就new一个。这样看似不错。问题是,你用到这个类的地方有n个,这样你就需要n个判断。为什么不把这个职责交给类本身呢?然后让类提供一个接口访问代码实现:publicclassSingleton{privatestaticSingletonsingleton=null;privateSingleton(){}publicstaticSingletoninstance(){if(singleton==null)singleton=newSingleton();returnsingletonreturnsingleton;}}有无问题:碰上多线程怎么办?前人总结的经验,有3中方法1.直接加锁publicclassSingleton{privatestaticSingletonsingleton=null;privateSingleton(){}publicstaticsynchronizedSingletoninstance(){if(singleton==null)singleton=newSingleton();returnsingletonreturnsingleton;}}2.早期实例化publicclassSingleton{privatestaticSingletonsingleton=newSingleton();privateSingleton();publicstaticSingletongetInstance(){returnsingleton;}}3.双重检测锁publicclassSingleton{privatevolatilestaticSingletonsingleton=null;privateSingleton(){}publicstaticSingletongetInstance(){if(singleton==null){synchronized(Singleton.class){singleton=newSingleton();}}returnsingleton;}文章来源:HYPERLINK"http://www.leadfar.org/"java视频http://www.leadfar.org/