本文最后更新于723 天前,其中的信息可能已经过时,如有错误请发送邮件到916949904@qq.com
单例模式:
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。
具体的代码实现:
饿汉式:
class Bank { //饿汉式
//1.私有化的构造器
private Bank() {
}
//2.内部创建类的私有的对象
//4.对象也必须是是静态的
private static Bank instance = new Bank();
//3.提供一个公共的静态方法,返回类的对象
public static Bank getInstance() {
return instance;
}
}
懒汉式:
class Order { //懒汉式
//1.私有化类的构造器
private Order() {
}
//2.声明类的私有的对象,但是不初始化
// 4.此对象也必须是是静态的
private static Order instance = null;
//3.提供一个公共的静态的方法
public static Order getInstance() {
if (instance != null) {
instance = new Order();
}
return instance;
}
}
经过解决线程问题后的懒汉式:
class Bank{
private Bank(){
}
private static Bank instance = null;
public static Bank getInstance(){
//方式一:效率稍差
// synchronized (Bank.class) {
// if(instance == null){
// instance = new Bank();
// }
// return instance;
// }
//方式二:效率更高
if(instance == null){
synchronized (Bank.class) {
if(instance == null){
instance = new Bank();
}
}
}
return instance;
}
}