原文:源码阅读 - ConcurrentHashMap#addCount 方法里面的 bug

去年底重撸了部分 ConcurrentHashMap 源码,当时笔记为 word 形式,比较乱,且刚好当时入职了一家新公司,整理这部分就停下来了 源码学习这部分在大部分公司里都会没时间去做,时间全靠挤 。刚好最近读完部分 redis 内部数据结构实现 虽然 C 语言不是很懂,但应该还是读懂了重要的部分 ,正好与Java 这边的 ConcurrentHashMap 形成对比,CHM 扩容这块的源码之 ...

2019-08-20 23:30 1 613 推荐指数:

查看详情

JDK源码阅读(7):ConcurrentHashMap阅读笔记

ConcurrentHashMap 1. 一些重要参数 1.1 MAXIMUM_CAPACITY参数 MAXIMUM_CAPACITY参数表示map的最大容量,默认为1 << 30。 1.2 DEFAULT_CAPACITY参数 DEFAULT_CAPACITY ...

Thu Nov 25 22:38:00 CST 2021 0 282
JDK1.8 ConcurrentHashMap源码阅读

1. 带着问题去阅读 为什么说ConcurrentHashMap是线程安全的?或者说 ConcurrentHashMap是如何防止并发的? 2. 字段和常量 首先,来看一下ConcurrentHashMap中的一些字段和常量,这些在接下来的操作中会用得到 2.1. 常量 ...

Mon Nov 26 06:39:00 CST 2018 0 786
ConcurrentHashMap的computeIfAbsent方法在jdk8的bug

刚刚在头条看见一个说CHM(ConcurrentHashMap)在jdk8中的bug,自己亲自试了一下确实存在,并按照头条帖里面说的看了一下源码,记录一下 CHM的computeIfAbsent的方法是jdk8中新加的方法,也应用了jdk8的新特性,函数接口,lambda表达式; 方法说明 ...

Sun Jul 05 06:13:00 CST 2020 0 761
框架源码阅读方法与技巧

代码是形式,逻辑是神韵。 引子 在 “解锁优秀源代码的基本方法与技巧” 一文中,探讨了阅读优秀源码的基本步骤、方法、技巧、所面临的障碍及克服之策。多加训练,应该可以达成如下目标: 能够读懂独立类和基本容器的实现; 能够读懂小型的基础库和框架; 通过源码阅读来调试 ...

Mon Feb 15 20:15:00 CST 2021 0 275
Linux核心源码阅读方法

首次阅读Linux4.0.5内核源代码时,一脸茫然,它的代码不仅复杂,而且庞大,找不到从哪里开始阅读。 通常Linux会有以下目录 arch 子目录包括所有和体系结构相关的核心代码。它还有更深的子目录,每一个代表一种支持的体系结构 include 子目录包括编译 ...

Wed Jul 15 18:20:00 CST 2015 0 10518
postman里面的mockserver使用方法

转载:http://blog.csdn.net/Cloud_Huan/article/details/78326159 首先说下mockserver是干啥的,从英文翻译理解就是模拟一个服务器,通俗点 ...

Thu Nov 23 20:55:00 CST 2017 0 5477
C# 方法里面的默认参数

最近有很多地方都用到了方法的默认参数,遂总结之。 (一)先从原理说起 在C#中,一旦为某个参数分配了一个默认值,编译器就会向内部该参数应用定制一个attribute 即是(OptionalAttribute)这个attribute会在最终生产的文件的元数据 ...

Tue May 23 17:04:00 CST 2017 1 16661
SimpleDateFomat里面的parse方法的使用

parse方法用于将字符串类型的日期/时间解析为Date类型。语法 public Date parse(参数) 要加上这句 throws ParseException或者:try{}catch(){}。 参数:字符串类型的日期/时间。 返回值:返回对字符串类型的日期/时间解析后生 ...

Thu Nov 17 22:08:00 CST 2016 0 7166
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM