JAVA源码学习
文章平均质量分 96
小姬同学在Coding
修炼ing
展开
-
ConcurrentHashMap源码分析(JDK1.8)
一、JDK1.8ConcurrentHashMap介绍 JDK1.8中ConcurrentHashMap底层依旧是数组+链表+红黑树,使用Synchronized+CAS来保证线程安全 几个默认值 DEFAULT_INITIAL_CAPACITY 默认初始化容量 16 MAXIMUM_CAPACITY 最大容量 2的30次幂 DEFAULT_LOAD_FACTOR 默认的负载因子 0.75 DEFAULT_CONCURRENCY_LEVEL 并发等级 16 sizeCtl介绍 用来控制table的初原创 2020-12-24 10:57:36 · 374 阅读 · 0 评论 -
ConcurrentHashMap源码分析(JDK1.7)
一、JDK1.7ConcurrentHashMap介绍 JDK1.7中ConcurrentHashMap底层是数组+链表 几个默认值 DEFAULT_INITIAL_CAPACITY 默认初始化容量,16 MAXIMUM_CAPACITY 最大容量 2的30次幂 DEFAULT_LOAD_FACTOR 默认的负载因子 0.75 DEFAULT_CONCURRENCY_LEVEL 并发等级 16 几个属性值 Entry<K,V>[] table:底层保存数据的数组 int size:map原创 2020-12-15 17:52:40 · 1144 阅读 · 3 评论 -
JAVA源码学习小技巧之IDEA切换不同版本JDK
前言:最近在学习HashMap的底层原理,涉及到不同版本的JDK切换,在此记录一下,方法不是最优,但亲测可用 过程记录 一、首先要准备不同版本的JDK,我这里用的是JDK7与JDK8 二、安装JDK,并放置在相同的目录下,便于后续的切换 三、安装完配置环境变量,环境变量只需要配置一个(以JDK7为例) 四、IDEA中更改JDK(以JDK7为例) File --> Settings --> Build, Execution, Deployment --> Compiler --&原创 2020-12-11 14:39:36 · 613 阅读 · 0 评论 -
HashMap源码分析(JDK1.7)
基于JDK1.7的HashMap源码分析 本文将会从以下几个方面对JDK7源码进行解析,记录自己学习过程。 一:JDK7HashMap介绍 二:构造器 三:put方法 四:扩容 五:get方法 六:常见面试题 一、JDK7HashMap介绍 JDK1.7中HashMap底层是数组+链表 DEFAULT_INITIAL_CAPACITY 默认初始化容量,必须是2的次幂 ...原创 2020-12-11 14:03:59 · 108 阅读 · 0 评论 -
HashMap源码分析(JDK1.8)
基于JDK1.8的HashMap源码分析 初始化、put、扩容、get、树化原创 2020-12-09 14:56:47 · 535 阅读 · 7 评论