为什么java.security.AccessControlContext中有冗余变量debugInit?

时间:2018-03-06 06:17:05

标签: java java-security java-security-manager

我正在经历java.security.AccessControlContext,遇到下面的代码:

private static boolean debugInit = false;
private static Debug debug = null;

static Debug getDebug()
{
    if (debugInit)
        return debug;
    else {
        if (Policy.isSet()) {
            debug = Debug.getInstance("access");
            debugInit = true;
        }
        return debug;
    }
}

问题:为什么我们需要一个额外的变量debugInit,我们可以像下面一样简单地检查if (debug == null)getInstance()

static Debug getDebug()
{
    if (debug == null && Policy.isSet()) {
        debug = Debug.getInstance("access");
    }
    return debug;
}

我是否遗漏了某些内容,或者是否有任何具体原因要使用其他变量debugInit(其他地方未引用)?

0 个答案:

没有答案