饿汉式是一加载就创建对象
懒汉式是需要使用再造对象
懒汉式在多线程环境下可能会出现安全问题,所以在提供方法访问时添加同步
案例
public class Teacher{
private Teacher(){};
//不创建对象
private static Teacher t = null;
//添加同步访问,避免安全问题
public synchronized static Teacher getTeacher(){
if (t==null){
t = new Teacher();
}
return t;
}
}
public class TeacherDemo{
public static void main(String[] args){
Teacher t1 = Teacher.getTeacher();
Teacher t2 = Tacher.getTeacher();
System.out.println(t1==t2);//true
}
}