单例模式:
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。
具体的代码实现:
饿汉式:
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;
}
}
Original: https://www.cnblogs.com/hanhanz/p/16502527.html
Author: 憨憨BEEA
Title: 单例设计模式
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610347/
转载文章受原作者版权保护。转载请注明原作者出处!