Java 为什么netty FastThreadLocal public final V get(InternalThreadLocalMap threadLocalMap)不调用registerCleaner方法?

Java 为什么netty FastThreadLocal public final V get(InternalThreadLocalMap threadLocalMap)不调用registerCleaner方法?,java,netty,Java,Netty,今天我看到了FastThreadLocal public final V get() { InternalThreadLocalMap threadLocalMap = InternalThreadLocalMap.get(); Object v = threadLocalMap.indexedVariable(index); if (v != InternalThreadLocalMap.UNSET) { return (V) v; }

今天我看到了FastThreadLocal

public final V get() {

    InternalThreadLocalMap threadLocalMap = InternalThreadLocalMap.get();

    Object v = threadLocalMap.indexedVariable(index);

    if (v != InternalThreadLocalMap.UNSET) {
        return (V) v;
    }

    V value = initialize(threadLocalMap);
    registerCleaner(threadLocalMap);
    return value;
}

public final V get(InternalThreadLocalMap threadLocalMap) {
    Object v = threadLocalMap.indexedVariable(index);
    if (v != InternalThreadLocalMap.UNSET) {
        return (V) v;
    }

    return initialize(threadLocalMap);
}

为什么
public final V get()
method调用
registerCleaner(threadLocalMap)
method,而
public final V get(InternalThreadLocalMap threadLocalMap)
没有调用?

registerCleaner
在上一版本中被一起删除。现在根本不需要了。

很难猜测其他开发人员的观点和原因如果public final V get(InternalThreadLocalMap threadLocalMap)方法不调用registerCleaner(threadLocalMap),可能会导致内存泄漏。