public class User{
// volatile 保证在所有线程中同步
private static volatile User user;
// 构造私有,避免在外部被实例化
private User(){}
private String userName;
// 懒汉模式
public static synchronized User getUser() {
if (user == null) {
user = new User();
}
return user;
}
}
// 线程安全 不浪费资源
public class User{
// volatile 保证在所有线程中同步
private static volatile User user;
// 构造私有,避免在外部被实例化
private User(){}
private String userName;
// 懒汉模式
public static User getUser() {
if (user == null) {
synchronized(User.class) {
if (user == null) {
user = new User();
}
}
}
return user;
}
}