package com.lan.test;
/**
* User: Json
* Date: 2021/8/17
* 使用同步机制将单例模式中的懒汉式改成为线程安全
**/
public class BankTest {
public static void main(String[] args) {
Bank bank=Bank.getback_2();
bank.getBack();
}
}
//懒汉式
class Bank{
//1.必须有构造器
private Bank(){
System.out.println("私有构造器23");
}
// 2. 声明当前类对象 没有初始化
private static Bank bank=null;
//提供公共的方法 返回对象
//synchronized 不使用的话 会存在 安全问题
// 如果有很多地方在同时调用的这个类的时候
// 同时操作时 这个判断 bank == null 有可能 会声明多个 bank对象
// 所以要使用 synchronized 把这个方法锁起来
// 只能声明一个对象 下面再来的人 就不会重复造这个对象了
public synchronized static Bank getback_2() {
if(bank == null) {
bank=new Bank();
}
return bank;
}
public void getBack(){
System.out.println("111111111111");
}
}