java.lang.ClassValue.ClassValueMap#finishEntry ( )源码实例Demo

下面列出了java.lang.ClassValue.ClassValueMap#finishEntry ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jdk1.8-source-analysis   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码2 项目: dragonwell8_jdk   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码3 项目: TencentKona-8   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码4 项目: jdk8u60   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码5 项目: JDKSourceCode1.8   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码6 项目: openjdk-jdk8u   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码7 项目: openjdk-jdk8u-backup   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码8 项目: jdk8u-jdk   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码9 项目: Java8CN   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码10 项目: hottub   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码11 项目: openjdk-8-source   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码12 项目: openjdk-8   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码13 项目: jdk8u_jdk   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码14 项目: jdk8u-jdk   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码15 项目: jdk-1.7-annotated   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}
 
源代码16 项目: jdk8u-dev-jdk   文件: ClassValue.java
/** Called when the fast path of get fails, and cache reprobe also fails.
 */
private T getFromHashMap(Class<?> type) {
    // The fail-safe recovery is to fall back to the underlying classValueMap.
    ClassValueMap map = getMap(type);
    for (;;) {
        Entry<T> e = map.startEntry(this);
        if (!e.isPromise())
            return e.value();
        try {
            // Try to make a real entry for the promised version.
            e = makeEntry(e.version(), computeValue(type));
        } finally {
            // Whether computeValue throws or returns normally,
            // be sure to remove the empty entry.
            e = map.finishEntry(this, e);
        }
        if (e != null)
            return e.value();
        // else try again, in case a racing thread called remove (so e == null)
    }
}