1. 首页
  2. 移动开发
  3. 其他
  4. Java理论与实践:构建一个更好的HashMap

Java理论与实践:构建一个更好的HashMap

上传者: 2020-08-20 19:22:24上传 DOC文件 85.5KB 热度 12次
本文分析Doug Lea的util.concurrent包中的ConcurrentHashMap的实现。并针对吞吐量进行优化,对于大多数一般用法来说它是经过优化的,这些用法往往会检索一个很可能在map中已经存在的值。ConcurrentHashMap摒弃了单一的map范围的锁,取而代之的是由32个锁组成的集合,其中每个锁负责保护 hash bucket的一个子集--多个写锁。而ConcurrentHashMap没有使用单一的集合锁,而是使用了一个固定的锁池,这个锁池形成了bucket集合的一个分区。如果不使用锁定,那么实现必须有能力处理它用到的所有变量的过时的或者不一致的值。
用户评论