登记式单例模式
来源:互联网 发布:网络社交工具 编辑:程序博客网 时间:2024/04/28 03:55
package comhellojava;import java.util.HashMap;import java.util.Map;/** * @function 登记式单例模式 类似于spring里面的用法,将类名注册,下次从里面直接获取 * @author ylchou * @time 2012/08/28 * */public class Singleton { private static Map<String, Singleton> map = new HashMap<String,Singleton>(); static{ Singleton singleton = new Singleton(); System.out.println("--------"+singleton.getClass().getName()); //把singleton实例 put 进 comhellojava.Singleton map.put(singleton.getClass().getName(), singleton); } //protected 构造器// protected Singleton(){// } private Singleton(){ } //静态工厂方法 返回此类唯一的实例 public static Singleton getInstance(String name){ if(name == null){ name = Singleton.class.getName(); System.out.println("if name is null,->name=" + name); } if(map.get(name) == null){ try { map.put(name, (Singleton) Class.forName(name).newInstance()); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } return map.get(name); } public String about() { return "登记式单例模式"; } public static void main(String[] args) { Singleton s = Singleton.getInstance(null); Singleton s2 = Singleton.getInstance(null); System.out.println(s); System.out.println(s2); System.out.println(s.about()); }}
/**
--------comhellojava.Singleton
if name is null,->name=comhellojava.Singleton
if name is null,->name=comhellojava.Singleton
comhellojava.Singleton@de6ced
comhellojava.Singleton@de6ced
登记式单例模式
*/
- 登记式单例模式
- 登记式单例模式(Singleton)
- 登记式单例 VS 享元模式
- Java设计模式之单例模式之登记式单例
- 设计模式之登记式单例类
- 设计模式之登记式单例类
- 单例模式---登记式
- 设计模式案例--单例模式--登记式单例模式(registry singleton)
- Java的登记式单例代码
- 设计模式--单例模式(二)登记式
- 原始(prototype)模型模式之简单形式与登记形式
- (2.2.2.2)设计模式--单例模式(二)登记式
- java单例类继承问题--使用登记式单例的发现
- 登记式单例控制线程安全和内存控制
- 进出登记
- 资产登记
- 解读MySQL事务的隔离级别和日志登记模式选择技巧
- 解读MySQL事务的隔离级别和日志登记模式选择技巧
- [android]对TextView控件AttributeSet attrs和int defStyle的理解
- 用Busybox制作文件系统
- zju monthly contest 2012 aug.
- PHP 垃圾回收机制
- 黑马程序员-12 7k面试题银行业务调度系统
- 登记式单例模式
- POJ2441 2441 Arrange the Bulls
- Fiddler 教程
- hadoop伪分布模式配置
- php 加密和解密方法
- ssssssssss
- svn代码回滚命令
- Android中PopupWindow的用法(位置、动画、焦点)
- VS快捷键