单例类和单例注册表的实现
来源:互联网 发布:北京公司招聘程序员 编辑:程序博客网 时间:2024/05/24 07:22
1,单例类的实现. 可以保证在非同时多线程多类加载器的环境下的单例
public class Singleton...{
private static Singleton instance;
//私有化构造方法来防止外部通过new 来创建该类的实例
private Singleton ()...{
}
//使用 synchronzied 保证线程安全
public synchronized static Singleton getInstance()...{
if(instance==null)...{
instance= new Singleton();
}
return instance;
}
}
private static Singleton instance;
//私有化构造方法来防止外部通过new 来创建该类的实例
private Singleton ()...{
}
//使用 synchronzied 保证线程安全
public synchronized static Singleton getInstance()...{
if(instance==null)...{
instance= new Singleton();
}
return instance;
}
}
2.单例注册表的实现. 用于操作一组对象的聚集
import java.util.*;
public class SingletonRegistry...{
private static SingletonRegistry instance;
private static Map factoryMap = new HashMap();
//私有化构造方法
private SingletonRegistry()...{
}
public synchronized static SingletonRegistry getInstance()...{
if(instance==null)...{
instance = new SingletonRegistry();
}
return instance;
}
public synchronized BeanFactroy getBeanFactory(String factoryName)...{
BeanFactroy f=null;
//在注册表中查找看是否有这个BeanFactory的实例
Object o = factoryMap.get(factoryName);
if(o!=null)...{
return (BeanFactroy)o;
}
try ...{
f= (BeanFactroy)Class.forName(factoryName).newInstance();
//将Bean工厂注册到注册表
factoryMap.put(factoryName,f);
}
catch (Exception ex) ...{
ex.printStackTrace();
}
return f;
}
}
interface BeanFactroy...{
}
/**//*一个单例类,通过Map持有BeanFactory的对象聚集。SingletngRegistry本身只有一个实例 但是
*它可以持有任意多个BeanFactory的实例
*/
public class SingletonRegistry...{
private static SingletonRegistry instance;
private static Map factoryMap = new HashMap();
//私有化构造方法
private SingletonRegistry()...{
}
public synchronized static SingletonRegistry getInstance()...{
if(instance==null)...{
instance = new SingletonRegistry();
}
return instance;
}
public synchronized BeanFactroy getBeanFactory(String factoryName)...{
BeanFactroy f=null;
//在注册表中查找看是否有这个BeanFactory的实例
Object o = factoryMap.get(factoryName);
if(o!=null)...{
return (BeanFactroy)o;
}
try ...{
f= (BeanFactroy)Class.forName(factoryName).newInstance();
//将Bean工厂注册到注册表
factoryMap.put(factoryName,f);
}
catch (Exception ex) ...{
ex.printStackTrace();
}
return f;
}
}
interface BeanFactroy...{
}
/**//*一个单例类,通过Map持有BeanFactory的对象聚集。SingletngRegistry本身只有一个实例 但是
*它可以持有任意多个BeanFactory的实例
*/
- 单例类和单例注册表的实现
- 单例类和单例注册表的实现
- HIVE注册表的实现
- 单例的实现
- Delphi实现对注册表的监视和扫描
- Delphi实现对注册表的监视和扫描
- Delphi实现对注册表的监视和扫描
- C#中实现注册表的写入和读取
- 注册表实现windows系统的关机、注销和重启
- C++单例模式之注册表方法
- 使用单件注册表的单件模式例子
- Java单例模式:饿汉式和懒汉式的实现
- Java单例模式:饿汉式和懒汉式的实现
- Java单例模式:饿汉式和懒汉式的实现
- Java单例模式:饿汉式和懒汉式的实现
- 单例模式 c语言的实现和使用
- Android 和 iOS LoadingView单例模式的实现
- C++单例模板类的实现和使用
- C# 第三 套面议题目
- C#的130个面试题目
- Eclipse使用Axis生成WebService客户端的过程
- 使用OpenAPI发帖和自我回复并结贴的功能
- 自娱自乐
- 单例类和单例注册表的实现
- 使用OpenAPI读取指定人员积分信息
- Serializable在C#中的作用.NET 中的对象序列化
- SSW Rules to Better SQL Reporting Services 2005
- 无法取消打印文档-解决(转)
- 微软将在 Office 2007 SP2 中支持 ODF 和 PDF
- dwr使用实例
- 想给自己找个工作,我有做品的来看看吧!!!
- 木制键盘