package com.github.lazylibrary.util;
/**
* Singleton helper class for lazily initialization.
*
* @author Trinea
*
* @param 泛型
*/
public abstract class SingletonUtils {
private T instance;
protected abstract T newInstance();
public final T getInstance() {
if (instance == null) {
synchronized (SingletonUtils.class) {
if (instance == null) {
instance = newInstance();
}
}
}
return instance;
}
}