单利可以干嘛,有什么用什么好处!急须
解决方案 »
- struts1与struts2谁能够清楚的解说里面的区别呢?
- 怎么调用socket中run()的一个值
- 大家帮忙看看这个错在哪里了!
- 问个String的问题,大家帮我解答一下
- java GUI的问题
- 用HTTP实现大文件下载时,断点续传问题,欢迎讨论,分数追加...
- 如让格式化输入日期,要过动态修改不能国家的输入格式?
- 包里明明有这个文件,可编译时却提示错误??
- 关于sql2000中getString("列1")中text列的问题?
- 要看web service方面的资料应该从哪里着手啊?或者介绍几个好网站也行啊。
- java中GridLayout 的操作问题
- 求解多线程问题?数据库中有成千上万数据,每天都有20万以上标记为0的新纪录不断写入
private static ReadSourceUtil me_instance = null;
//将构造方法私有化
private ReadSourceUtil()
{
//通过Properties类的load加载
try
{
//只读取一次
//参数为资源配置文件的全名(名称.properties) 从src开始以/开头
InputStream is = this.getClass().getResourceAsStream("/DBConfig.properties"); this.load(is);
}
catch (Exception e)
{
System.out.println("读取资源配置文件发生异常:"+e.getMessage());
e.printStackTrace();
}
}
//这里为什么要用static?
public static synchronized ReadSourceUtil newInstance()
{
//判断是否为空
if(me_instance==null)
{
me_instance = new ReadSourceUtil();
}
//返回
return me_instance;
}
作用:使你的整个应用中对于该类,只存在一个实例。
在你给出的代码里,是读取数据库的属性文件,对于这种读取,一般读取1次即可。所以在这里用了单例,既该类的对象永远只有一个,并且是同一个。只有在创建这个对象时区读取资源文件。
问为什么用static,你反过来想,你都单例了,就不可能从外部创建本来对象,本类对象在自己内部创建。外边没有对象,如何调用本类的方法。所以必须设成static,这样可以通过类名.方法()来调用本类的方法,该方法只是返回本来的单一实例给外部使用。
具体的事例你看http://www.iteye.com/topic/214339,他上挺详细的
具体的事例你看http://www.iteye.com/topic/214339,他上挺详细的