简单的单例,一句话概括“整个程序中只存在一个实例”
程序员文章站
2022-06-13 19:41:48
...
单例的学习
1、单例是什么
单例,顾名思义,就是一个实例的意思,这样的优势在于节约内存,减少没有必要的创建对象。
2、单例的创建方式
1、饿汉式(也不知道为啥起这名字):其实就是程序启动时就创建了对象,使用时直接可以使用,特点是项目启动慢,调用块,由于不需要再次创建对象,直接调用即可,所以线程安全
public class User {
//初始化构造方法
private void User(){};
//项目启动就创建一个对象
private static User user = new User();
//开放一个对象的获取途径
public static User getUser(){
return user;
}
}
2、懒汉式:只有在第一次调用的时候,才会去创建对象,特点是项目启动块,调用慢,由于可能会多个线程同时创建对象,所以是线程不安全的,可以加锁来保证安全
public class User {
//初始化构造方法
private void User(){};
//项目启动就创建一个对象
private static User user;
//开放一个对象的获取途径
public static User getUser(){
if(user == null){
return user = new User();
}
return user;
}
}