ConcurrentHashMap 用法中的段 class

Segment class in ConcurrentHashMap usage

查看 ConcurrentHashMap 的实现,我发现在尝试对其进行操作时 (put/remove),找到了值,然后将该值用作执行实际操作的同步代码的锁。这样只有那个桶被锁定在实际存在价值的地方。

我还看到一个 class 段声明,并且在许多在线资源中提到它用于实现并发。但是我找不到任何使用Segment进行同步实现的实现代码。

那么我到底想念什么?

我正在调查 java 11.

查看sources of OpenJDK 8,classSegment评论:

    /**
     * Stripped-down version of helper class used in previous version,
     * declared for the sake of serialization compatibility
     */
    static class Segment<K,V> extends ReentrantLock implements Serializable {
        ...
    }

所以它的存在似乎只是为了向后兼容。