TA的每日心情 | 开心 2016-12-9 18:18 |
---|
签到天数: 85 天 连续签到: 1 天 [LV.6]常住居民II 扫一扫,手机访问本帖
|
单例模式用于保证在程序的运行期间某个类有且仅有一个实例。其优势在于尽可能解决系统资源。通过修改构造方法的访问权限就可以实现单例模式。
所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action。单例其实就在内存中该对象只有一个内存对应地址。无论你多少个线程访问那个对象,都是同一个地址,这样会更加节省内存。
与之相对,多例就是一个类可以创建多于一个实例,可以每次调用创建一个实例,用完丢弃,或者维护一个实例池,每次调用从实例池取用。
代码如下
public class Single {
private static Single single = null;// 声明一个引用
private Single() {// 将构造方法私有
}
public static Single getInstance() {// 实例化引用
if (single == null) {
single = new Single();
}
return single ;
}
public void getName() {
System.out.println("java联盟:javalm");
}
}
public class Test {
public static void main(String[] args) {
Single s1 = Single .getInstance();// 创建对象
emperor1.getName();
Single s2 = Single .getInstance();// 创建对象
emperor2.getName();
Single s3 = Single .getInstance();// 创建对象
emperor3.getName();
}
}
|
|