现在程序代码是这样的,用的是单例模式
可是选择单例模式有何优势,感觉单例模式做的事情,静态方法都能做??
请大吓指教一下public class LogWriter {
static private Logger logger = Logger
.getLogger(SqlBenchSessionFactory.class); private static LogWriter instance; /**
* 缺省构造函数
*/
private LogWriter() throws RemoteException { } synchronized public static LogWriter instance() throws RemoteException {
if (instance == null) {
instance = new LogWriter();
}
return instance;
} // 获取RMI服务,写入日志到数据库
public void writeLog(SqlLog log) {
}}
可是选择单例模式有何优势,感觉单例模式做的事情,静态方法都能做??
请大吓指教一下public class LogWriter {
static private Logger logger = Logger
.getLogger(SqlBenchSessionFactory.class); private static LogWriter instance; /**
* 缺省构造函数
*/
private LogWriter() throws RemoteException { } synchronized public static LogWriter instance() throws RemoteException {
if (instance == null) {
instance = new LogWriter();
}
return instance;
} // 获取RMI服务,写入日志到数据库
public void writeLog(SqlLog log) {
}}
同意上述公约者·申请加入!
QQ群号:25922618(一群)-----人员快满
QQ群号:17615698(二群)-----最近新群
静态的话,你可以调用它的构造方法来得到它的实例。
按你这个程序,用静态的话没必要用这个synchronized 关键字来保持同步吧!
纯属个人见解!有错请纠正
"静态的话没必要用这个synchronized "不是很赞同啊.
在多线程并发访问的情况下 静态 并不可能保证线程安全啊.
饿汉模式就是静态初始化.就是一开始就实例化.不管要不要用.....至于什么时候用什么...自己选吧..呵呵.