作用:在应用程序中保证最多只能有一个实例。
优势:
1.提升运行效率
2.实现数据共享
懒汉式:(对象被调用时才去创建,但是内部含有锁,效率低)
package com;
public class SingleTon {
private static SingleTon singleTon;
private SingleTon() {
}
// 提供访问入口
// 多线程情况下,可能出现if同时成立的情况,需要添加锁
public static SingleTon getInstance() {
if (singleTon == null) {
synchronized (SingleTon.class) {
if (singleTon == null) {
singleTon = new SingleTon();
}
}
}
return singleTon;
}
}
饿汉式:(类加载时便实例化)
package com;
public class SingleTon {
private static SingleTon singleTon = new SingleTon();
private SingleTon() {
}
public static SingleTon getInstance() {
return singleTon;
}
}