Java集合框架深度解析:从源码到实战应用
文章平均质量分 90
Java集合框架深度解析:从源码到实战应用
我是洋葱头
10年+Java后端开发经验,主导多个亿级流量系统架构设计
精通Java生态体系:Spring Cloud Alibaba/Netflix、MyBatis Plus、RocketMQ、Elasticsearch
深度掌握JVM原理与调优,多次解决线上Full GC难题
分布式系统专家:Redis集群、ShardingSphere分库分表、Seata分布式事务
高并发系统实战专家,主导设计日订单千万级的电商交易平台
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java WeakHashMap 底层实现剖析:从 Entry 到弱引用的回收机制
WeakHashMap 是 Java 中基于弱引用(WeakReference)的特殊 Map 实现,其核心在于键的自动回收机制。每个 Entry 继承 WeakReference,将键包装为弱引用,而值仍保持强引用。当键对象失去外部强引用时,会被垃圾回收器回收,同时该 Entry 被加入 ReferenceQueue。WeakHashMap 在执行 put、get 或 size 等操作时,会调用 expungeStaleEntries() 方法,从队列中取出已回收的键,并清理对应的哈希表条目,防止内存泄漏原创 2025-04-17 08:00:00 · 801 阅读 · 0 评论 -
java集合详解 - LinkedBlockingQueue 详解
LinkedBlockingQueue 是 Java 并发包(java.util.concurrent)中的一个线程安全的阻塞队列实现,它基于链表结构。原创 2025-04-16 07:45:00 · 902 阅读 · 0 评论 -
Java集合框架终极指南:SynchronousQueue源码解析与高并发设计
SynchronousQueue是Java并发包中一种特殊的无缓冲阻塞队列,采用直接传递(handoff)机制,实现生产者和消费者的高效线程间通信。本文深入分析其两种实现模式(公平队列与非公平栈),解读其无锁化的CAS算法、线程匹配策略及高并发优化设计,并对比其与其他阻塞队列的性能差异,最后探讨在线程池等场景的最佳实践。关键词:SynchronousQueue、无缓冲队列、CAS、线程匹配、高并发优化原创 2025-04-17 07:45:00 · 1969 阅读 · 0 评论 -
java集合详解 - ArrayBlockingQueue详解
ArrayBlockingQueue 是 Java 并发包(java.util.concurrent)中一个基于数组实现的有界阻塞队列,它实现了 BlockingQueue 接口。原创 2025-04-15 07:45:00 · 1258 阅读 · 0 评论 -
java集合详解 - ArrayDeque 详解
ArrayDeque 是 Java 集合框架中一个非常重要的双端队列实现,它同时实现了 Deque 接口和 Queue 接口。以下是关于 ArrayDeque 的全面解析:原创 2025-04-14 07:45:00 · 1141 阅读 · 0 评论 -
java集合详解 - PriorityBlockingQueue 详解
单向阻塞:只在取元素时(队列为空)阻塞条件等待:通过实现优雅等待自动唤醒:插入元素时自动唤醒等待的消费者线程安全:所有操作由同一把锁保护无界特性:插入操作永不阻塞(可能引发OOM需要注意)这种设计使其非常适合需要按优先级处理任务的生产者-消费者场景,同时避免了有界队列的复杂性。原创 2025-04-12 10:00:00 · 1136 阅读 · 0 评论 -
java集合详解 - PriorityQueue 详解
PriorityQueue(优先级队列)是 Java 集合框架中的一个类,实现了 Queue 接口。它基于堆(Heap)数据结构实现,默认情况下是一个最小堆(最小元素在队首),但可以通过自定义 Comparator 改为最大堆或其他排序方式。PriorityQueue 是处理优先级任务的理想选择,特别适合需要频繁访问极值但不需要全局排序的场景。理解其底层实现原理有助于开发高性能的优先级调度系统。原创 2025-04-11 08:00:00 · 1264 阅读 · 0 评论 -
java集合详解 - ConcurrentHashMap详解
是 Java 并发包 () 中提供的一个线程安全的哈希表实现,它是对HashMap的线程安全版本,但比Hashtable或有更好的并发性能。原创 2025-04-10 20:22:52 · 1239 阅读 · 0 评论 -
java集合详解 - TreeSet详解
可以在构造。原创 2025-04-10 07:00:00 · 1670 阅读 · 0 评论 -
java集合详解 - TreeMap详解
java集合类 TreeMap原创 2025-04-09 00:03:04 · 972 阅读 · 0 评论 -
Java集合详解 - HashSet详解
HashSet是 Java 集合框架中的一个重要类,它实现了Set接口,用于存储不重复的元素。HashSet是最常用的 Set 实现,适用于需要快速查找且不关心顺序的场景。原创 2025-04-06 21:47:34 · 1044 阅读 · 0 评论 -
java集合详解 - LinkedHashMap详解
是 Java 集合框架中的一个重要类,它继承自HashMap,并在其基础上。这使得它既能像HashMap一样高效,又能保持可预测的迭代顺序。equals()hashCode()nullnullHashMap多线程环境下应使用或使用(但不保证顺序)。通过可轻松实现 LRU 缓存。比HashMap占用更多内存(因维护双向链表)。遍历比HashMap更快(直接按链表顺序访问,无需处理哈希桶)。(如配置项加载)。(最近最少使用算法)。(如日志记录、事件队列)。HashMap。原创 2025-04-07 08:30:00 · 1310 阅读 · 0 评论 -
java集合详解 - LinkedHashSet详解
是 Java 集合框架中的一个重要类,它继承自HashSet,同时实现了Set接口。它的核心特点是。原创 2025-04-08 08:30:00 · 1220 阅读 · 0 评论 -
CopyOnWriteArrayList详解 ArrayList多线程使用
CopyOnWriteArrayList详解 ArrayList多线程使用 java集合详解 java多线程原创 2025-04-06 16:44:27 · 822 阅读 · 0 评论 -
ArrayList详解
ArrayList 是 List 接口的可调整大小的数组实现,位于java.util包中。主要特点:动态扩容:根据需要自动增长和缩小(1.5 倍增长,扩容有开销)允许存储 null 值非线程安全实现了 RandomAccess 接口,支持快速随机访问插入和删除元素效率较低(需要移动元素)核心操作的时间复杂度操作时间复杂度说明get(int)O(1)直接通过索引访问数组元素add(E)O(1) 均摊尾部插入,偶尔触发扩容O(n)中间插入,需要移动后续元素O(n)原创 2025-04-01 08:30:00 · 827 阅读 · 0 评论 -
LinkedList详解
LinkedList 是 Java 集合框架中 List 接口和 Deque 接口的双向链表实现。与 ArrayList 基于数组的实现不同,LinkedList 使用链表数据结构存储元素。原创 2025-03-31 08:30:00 · 476 阅读 · 0 评论 -
HashMap详解(Java8)
HashMap面试题,HashMap算法原创 2025-03-29 23:31:09 · 419 阅读 · 0 评论
分享