ConcurrentHashMap(1.7)分析

  1. 先来了解ConcurrentHashMap中的几个成员,当然大多数与HashMap中的相似,我们只看独有的成员

  2. 构造函数

3 . 我们来看put()方法

  1. 来具体看一下SegementMask与SegmentShift这两个变量时怎么使用的?

上面是构造函数中计算这两个变量的代码。

我们假设concurrencyLevel为默认值16,那么经过计算得到,ssize = 16,sshift = 4,segmentShift = 28, segementMask = 15

由于ssize为segements数组的大小,我们可以发现,当 n 与 segmentMask按位与时候正好可以得到

Original: https://www.cnblogs.com/liwangcai/p/11881068.html
Author: 神奇海螺。
Title: ConcurrentHashMap(1.7)分析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/574164/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 深入MySQL(四):MySQL的SQL查询语句性能优化概述

    关于SQL查询语句的优化,有一些一般的优化步骤,本节就介绍一下通用的优化步骤。 一条查询语句是如何执行的 首先,我们如果要明白一条查询语句所运行的过程,这样我们才能针对过程去进行优…

    Java 2023年6月7日
    063
  • Collections.sort排序方法的最简化写法

    Collections.sort排序方法的最简化写法 Collections.sort排序方法的最简化写法 假定按照Number对象的Id字段进行排序 正序排序 Collectio…

    Java 2023年6月16日
    076
  • java servlet

    1.浏览器向服务器发出GET请求(请求服务器ServletA) 2.服务器上的容器逻辑接收到该url,根据该url判断为Servlet请求,此时容器逻辑将产生两个对象:请求对象(H…

    Java 2023年5月29日
    045
  • Git的使用以及整理

    Usage of Git 1 Git区域划分 1)工作区(working directory):默认为项目根目录root 2)缓存区(stage):在版本库中设立一个缓存/暂存区,…

    Java 2023年6月8日
    085
  • swagger

    Swagger简介 前后端分离 前端 -> 前端控制层、视图层 后端 -> 后端控制层、服务层、数据访问层 前后端通过API进行交互 前后端相对独立且松耦合 产生的问题…

    Java 2023年6月9日
    067
  • 这是一篇致力于解决Linux小白无法安装tunctl工具的文章

    计算机网络——搭建Linux下的实验环境并成功安装tunctl 各位如果是来解决安装tunctl的问题的,请直接到2.2部分的内容。 这个学期终于迎来了计算机网络这门课程,也终于能…

    Java 2023年6月8日
    083
  • 项目准备

    项目导入 资料连接: https://pan.baidu.com/s/1Xp97dflG_i1a8DyTKJWAjg提取码:java 选择项目的pom.xml文件导入 项目启动 第…

    Java 2023年6月6日
    071
  • 并发编程系列之如何正确使用线程池?

    并发编程系列博客 原文链接 并发编程系列之如何正确使用线程池?在上一章节的学习中,我们掌握了线程的基本知识,接着本博客会继续学习多线程中的线程池知识 1、线程是不是越多越好? 在学…

    Java 2023年5月30日
    076
  • 对象数组排序 和 类比JDK实现 sort()的方法

    1.定义自己的 MyComparable 接口 1 package Test.treeSetDemo; 2 3 public interface MyComparable { 4 …

    Java 2023年6月8日
    038
  • Nginx配置文件nginx.conf中location的匹配原则

    一、空格:默认匹配、普通匹配 location / { root /home; } 二、 = :精确匹配(表示匹配到 /home/resources/img/face.png 这张…

    Java 2023年6月13日
    061
  • SpringCloudAlibaba 微服务讲解(一)微服务介绍

    微服务介绍 1.1 系统架构的演变 随若互联网的发展,网站应用的规模也在不断的扩大,逬而导致系统架构也在不断的进行变化.从互联 网早起到现在,系统架构大体经历了下面几个过程:单体应…

    Java 2023年6月7日
    072
  • 【java基础】枚举

    public enum Color { Red,Blue,Green; } Color red = Color.Red;//枚举&amp…

    Java 2023年6月9日
    094
  • 在web.xml配置springmvc过滤器解决乱码

    代码: <!–配置过滤器–> <filter> <filter-name>characterEncodingFilter</filte…

    Java 2023年6月9日
    049
  • II-第十三章:(1)SpringCloud Nacos注册中心和配置中心

    一、Nacos简介 1、命名由来 前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service。 2、是什么 一个更易于构建云原生应用的动态服务发…

    Java 2023年5月29日
    066
  • 工厂模式

    工厂模式,是java中最常用的设计模式。这类设计模式,属于创建型设计模式,它提供了一种创建对象的最佳方式。 我们创建对象不用暴露创建的逻辑,只需要使用这个接口,提供必要的信息就能从…

    Java 2023年6月9日
    070
  • Vue编程式路由导航和路由守卫

    具体编码: methods: { pushShow(m) { this.$router.push({ name: ‘msg-d’, // 就是路由的名称,不能使用path para…

    Java 2023年6月13日
    060
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球