Java/Spring Boot/Python全栈技术分享
【Java】并发容器总结:线程安全的集合框架详解 【Java】并发容器总结:线程安全的集合框架详解
一、并发容器概述Java并发容器是Java集合框架中专门为多线程环境设计的线程安全容器。它们通过不同的并发控制机制,确保在多线程访问时的数据一致性和线程安全性。 1.1 主要并发容器分类 并发Map ConcurrentHashMap C
2025-06-05
【Java】DelayQueue延迟队列核心源码与实现机制详解 【Java】DelayQueue延迟队列核心源码与实现机制详解
一、底层数据结构与设计原理1.1 基本概念DelayQueue是Java并发包中的一个实现,它是一个无界的阻塞队列,队列中的元素只有在其指定的延迟时间到期后才能被取出。其核心特性包括: 延时特性:元素只有在其延迟时间到期后才能从队列中取出
2025-03-23
【Java】ArrayBlockingQueue核心源码与阻塞队列实现机制详解 【Java】ArrayBlockingQueue核心源码与阻塞队列实现机制详解
一、底层数据结构与设计原理1.1 基本概念ArrayBlockingQueue是Java并发包中的一个实现,它是一个基于数组的有界阻塞队列,遵循FIFO(先进先出)原则。其核心特性包括: 有界性:创建时必须指定容量,一旦创建容量不可变 阻
2025-03-21
【Java】CopyOnWriteArrayList核心源码解析与写时复制机制详解 【Java】CopyOnWriteArrayList核心源码解析与写时复制机制详解
一、写时复制机制原理1.1 设计思想通过写时复制(Copy-On-Write)策略实现并发安全,所有修改操作都会创建底层数组的新副本。这种设计保证: 读操作完全无锁,直接访问当前数组引用 写操作通过ReentrantLock保证原子性 迭
2025-03-20
【Java】LinkedHashMap核心源码解析与实现原理详解 【Java】LinkedHashMap核心源码解析与实现原理详解
一、底层数据结构LinkedHashMap是HashMap的子类,它在HashMap的基础上,通过维护一个双向链表,保证了元素的插入顺序或访问顺序: // JDK 1.8 LinkedHashMap部分源码 public class Lin
2025-03-20
【Java】ConcurrentHashMap核心源码与底层数据结构分析 【Java】ConcurrentHashMap核心源码与底层数据结构分析
一、底层数据结构ConcurrentHashMap是Java中高性能的线程安全哈希表实现,它在JDK 1.8中采用了数组+链表+红黑树的复合数据结构,同时结合CAS和synchronized实现了高效的并发控制: // JDK 1.8 Co
2025-03-10
【Java】HashMap核心源码解析与实现原理详解 【Java】HashMap核心源码解析与实现原理详解
一、底层数据结构HashMap是Java中最常用的Map实现,它基于哈希表实现,在JDK 1.8中采用了数组+链表+红黑树的复合数据结构: // JDK 1.8 HashMap部分源码 public class HashMap<K,V
2025-03-10
【Java】LinkedList核心源码解析与实现原理详解 【Java】LinkedList核心源码解析与实现原理详解
一、底层数据结构LinkedList是基于双向链表实现的List接口,其核心数据结构是内部的Node节点类: // JDK 1.8 LinkedList部分源码 private static class Node<E> {
2025-03-10
【Java】ArrayList核心源码解析与扩容机制详解 【Java】ArrayList核心源码解析与扩容机制详解
一、底层数据结构// JDK 1.8 ArrayList部分源码 transient Object[] elementData; // 存储元素的数组缓冲区 private int size; // 当前元素数量 二、构造方法解析// 无
2025-03-06
【Java】PriorityQueue优先队列核心源码详解 【Java】PriorityQueue优先队列核心源码详解
一、底层数据结构与设计原理1.1 基本概念PriorityQueue 是 Java 集合框架中的优先队列实现,它是一个基于优先级堆的无界队列。其核心特性包括: 优先级排序:元素按照自然顺序或自定义比较器排序 堆实现:底层使用二叉堆数据结构
2024-03-21