为什么 Java 没有像对 AtomicReferenceArray 那样使用 VarHandle 来收集 类?

Why Java is not using VarHandle for collection classes the way it is using it for AtomicReferenceArray?

通过在Java中使用VarHandle class可以实现对对象的原子操作,像AtomicReferenceArray这样的class可以在不加锁的情况下对数组元素进行并发操作(同步)整个数组结构最终获得了显着的性能提升。

其他同步和线程安全版本的集合没有实现这种模型有什么具体原因吗?
例如,集合中的所有同步工厂方法 class return 相应集合的版本使用锁定整个集合的同步方法!

对象上的原子操作不会使整个集合必然是线程安全的。例如,集合中的同步工厂方法是使任意集合实现线程安全的唯一方法。

VarHandle 可能用于优化专门为并发构建的集合,例如 ConcurrentHashMap。如果您认为 VarHandles 可用于改进这些类型,您应该提交功能请求。完全有可能没人愿意去做。