1.单例模式的概念:在生活中,有些对象是唯一的,比如太阳,月亮,在java中也是同样如此。我认为单例模式旨在构建
一个安全的唯一的对象。
2.实现:(以读取一个配置文件为例)
package com.dp.Singleton;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class Config {
// 持有一个对本对象的引用
private static Config config = null;
private Properties pro = null;
// 即时加载
static {
try {
config = new Config();
} catch (Exception e) {
e.printStackTrace();
}
}
private Config() {
// 需要时加载
// if (null == config) {
// synchronized (Config.class) {
// if (null == config) {
// config = new Config();
// }
// }
// }
pro = new Properties();
InputStream in = Config.class.getClassLoader().getResourceAsStream(
"single.properties");
try {
pro.load(in);
} catch (IOException e) {
e.printStackTrace();
}
}
//
public static Config getInstance() {
return config;
}
public String getProperty(String str) {
try {
str = pro.getProperty(str);
return str;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}