很多人写单例过于随便,现在简单介绍下一般写法
private static RetrofitHttpUtils INSTANCE;
public static RetrofitHttpUtils newInstance() {
if (INSTANCE == null) { //第一次判断
synchronized (RetrofitHttpUtils.class) {//同步锁 防止并发操作导致的问题
if (INSTANCE == null) {//再次判断 永远防止并发
INSTANCE = new RetrofitHttpUtils();
}
}
}
return INSTANCE;
}
/**
* 构造函数私有化
*/
private RetrofitHttpUtils() {
}