hashmap的底层实现和扩容原理

HashMap底层实现与扩容原理深度解析 一、底层数据结构 1.1 核心组成 数组:存储元素的入口(桶),长度始终为2的幂次方 链表/红黑树:解决哈希冲突,JDK 1.8后链表长度>8时转为红黑树 Node结构: static class Node<K,V> implements


Synchronized和ReentrantLock的区别

Synchronized与ReentrantLock深度对比解析 一、核心特性对比表 对比维度 Synchronized ReentrantLock 实现方式 JVM原生关键字,语法层面锁 Lock接口实现类,API层面显式锁操作 锁获取方式 自动获取/释放(进入代码块自动加锁,退出自动释放) 手动


Synchronized的底层实现

Synchronized底层实现深度解析 一、核心数据结构与机制 1.1 对象头结构 每个Java对象头包含Mark Word(64bit)和Klass Pointer(32bit/64bit),其中Mark Word存储锁状态信息: | 64bit Mark Word | 32bit Klass


ReentrantLock的实现原理

ReentrantLock实现原理深度解析 一、核心架构设计 1.1 基于AQS的同步框架 ReentrantLock底层通过AbstractQueuedSynchronizer (AQS) 实现同步控制,其核心结构包含: 同步状态(state):记录锁重入次数(0表示未锁定) 双向链表队列(CLH


AQS详解

AbstractQueuedSynchronizer(AQS)深度解析 一、核心架构设计 1.1 基础数据结构 AQS通过同步状态(state)和CLH队列实现线程同步控制: state变量:volatile int类型,表示同步状态(如锁重入次数、信号量许可数) 双向链表队列:由Node节点组成,