自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

原创 高并发必备(十二)!Java异步编程的终极武器:CompletableFuture在微服务中的6大应用

CompletableFuture在微服务架构中因其强大的异步编排能力而广泛应用,以下是6个典型应用场景:

2025-05-02 00:09:35 290

原创 高并发必备(十一)!Java异步编程的终极武器:CompletableFuture从入门到高阶实战

CompletableFuture 是 Java 8 引入的增强版 Future,提供了 异步编程、任务编排、异常处理 等强大功能,支持函数式编程风格,比传统的 Future 更灵活。

2025-05-01 09:00:00 671

原创 高并发必备(十)!Condition接口使用技巧与AQS底层原理剖析

本系列教程传送门👉Condition是 Java 并发包 () 中的一个接口,它提供了比传统notify()更灵活、更强大的线程等待/通知机制,通常与Lock实现(如)配合使用。

2025-04-30 07:45:00 614

原创 高并发必备(九)!读写锁的进化版?深入理解StampedLock的乐观读与锁升级机制

本系列教程传送门👉StampedLock 是 Java 8 引入的一种高性能读写锁,比更灵活,支持乐观读、悲观读和写锁三种模式。其底层实现基于 CLH 队列变种 + CAS 操作 + 状态机控制,适用于读多写少的高并发场景。独占锁,类似的写锁。获取写锁后,其他线程无法获取读锁或写锁。返回一个long类型的,用于解锁或升级锁。共享锁,类似的读锁。允许多个线程同时获取读锁,但会阻塞写锁。返回一个long类型的,用于解锁。,仅返回一个 Stamp 用于后续验证。乐观读期间,允许其他线程获取写锁。

2025-04-29 07:45:00 1610

原创 高并发必备(八)!彻底掌握ReentrantReadWriteLock:从实战应用到AQS底层机制

ReentrantReadWriteLock 是 Java 提供的读写锁实现,支持读共享、写独占的并发控制机制。核心特点包括:读写分离:允许多线程同时读,但写操作独占,提高读多写少场景的性能。可重入性:线程可重复获取已持有的锁(读锁或写锁)。公平性选择:支持公平/非公平模式,公平模式按请求顺序分配锁。锁降级:写锁可降级为读锁,避免数据不一致(但不支持锁升级)。

2025-04-28 08:00:00 573

原创 高并发必备(七)!Java Fork/Join框架工作窃取算法深度解析

Fork/Join框架是Java7引入的并行计算框架,其核心是工作窃取(Work-Stealing)算法。该框架采用分治思想,将大任务递归分解为小任务并行处理。每个工作线程维护一个双端队列(Deque),本地线程从队尾LIFO存取任务,空闲线程则从其他队列队头FIFO窃取任务,实现负载均衡。这种设计减少了线程竞争,提高了CPU利用率,特别适合处理递归可分解的计算密集型任务,如归并排序、数组处理等。相比传统线程池,ForkJoinPool能更好地利用多核处理器,通过动态任务窃取实现高效并行。关键类包括Fork

2025-04-27 08:00:00 1908

原创 高并发必备(六)!Java线程池实现原理深度解析:从设计思想到源码剖析

线程池通过Worker线程复用机制和三级任务调度策略(核心线程→阻塞队列→非核心线程)实现高效并发。核心类ThreadPoolExecutor采用原子变量ctl(高3位状态+低29位线程数)实现无锁状态控制,通过继承AQS的Worker类管理线程生命周期。其设计亮点包括:1)任务队列与拒绝策略解耦;2)getTask()实现空闲线程回收;3)RUNNING→TERMINATED状态机确保有序关闭;4)CAS操作优化并发性能。源码层面通过runWorker()任务循环和before/afterExecute钩

2025-04-26 08:00:00 733

原创 高并发必备(五)!深入理解Java线程池:使用场景、工作原理与性能优化

Java线程池通过复用线程资源降低创建/销毁开销,适用于高并发、异步处理等场景。其核心工作原理基于ThreadPoolExecutor实现:1)任务提交后优先由核心线程处理;2)队列满时扩容至最大线程数;3)超限触发拒绝策略。性能优化关键点包括:合理配置核心/最大线程数(CPU密集型≈核数,IO密集型≈2×核数);选用合适队列(ArrayBlockingQueue有界防OOM);设置线程存活时间;通过监控指标(activeCount/completedTaskCount等)动态调整。特别注意避免任务堆积和资

2025-04-25 08:00:00 1016

原创 高并发必备(四)!ReentrantLock底层原理详解:从源码到实战全面解析

在Java并发编程中,ReentrantLock作为synchronized关键字的重要替代方案,提供了更灵活、更强大的线程同步机制。本文将深入剖析ReentrantLock的底层实现原理,帮助开发者彻底掌握这把"可重入锁"的精髓。

2025-04-24 08:00:00 699

原创 高并发必备(三)!深入剖析synchronized底层原理:从Java对象头到锁升级全解析

本文全面解析Java中synchronized关键字的底层实现原理,从Java对象头结构入手,逐步深入分析偏向锁、轻量级锁和重量级锁的锁升级过程。主要内容包括:Java对象头结构分析:详细讲解Mark Word、Klass Pointer等组成部分及其在不同锁状态下的存储内容synchronized实现机制:揭示synchronized如何通过对象监视器(Monitor)实现线程同步锁升级全过程:从无锁状态开始,逐步分析偏向锁、轻量级锁到重量级锁的转换条件和过程

2025-04-23 08:00:00 1047

原创 高并发必备(二)!多线程核心方法全解析,面试必备!

多线程编程是Java工程师的必备技能,更是面试高频考点! 本文系统梳理了Java线程的核心方法,助你彻底掌握:线程生命周期控制、线程中断机制、线程通信三板斧

2025-04-21 00:54:07 961

原创 高并发必备(一)!Java多线程最全解析开篇(面试+实战)

高并发是面试必考点,更是提升系统性能的核心能力!本系列将带你深入,最终实现百万级QPS设计。✔️ 清晰的知识脉络 + 高频面试题解析✔️ 结合Spring、Redis的实战应用案例✔️ 持续更新:AQS源码、Disruptor框架、ForkJoin实战📌:面试突击 | 项目调优 | 架构设计如果内容对你有帮助,请,后续会更新更多:👉(已完结)👉(进行中)

2025-04-19 21:51:04 699

原创 深入剖析CopyOnWriteArraySet:原理、源码与应用场景

是 Java 并发包 () 中的一个线程安全的 Set 实现类,它基于实现。

2025-04-18 07:30:00 684

原创 Java WeakHashMap 底层实现剖析:从 Entry 到弱引用的回收机制

WeakHashMap 是 Java 中基于弱引用(WeakReference)的特殊 Map 实现,其核心在于键的自动回收机制。每个 Entry 继承 WeakReference,将键包装为弱引用,而值仍保持强引用。当键对象失去外部强引用时,会被垃圾回收器回收,同时该 Entry 被加入 ReferenceQueue。WeakHashMap 在执行 put、get 或 size 等操作时,会调用 expungeStaleEntries() 方法,从队列中取出已回收的键,并清理对应的哈希表条目,防止内存泄漏

2025-04-17 08:00:00 655

原创 Java集合框架终极指南:SynchronousQueue源码解析与高并发设计

SynchronousQueue是Java并发包中一种特殊的无缓冲阻塞队列,采用直接传递(handoff)机制,实现生产者和消费者的高效线程间通信。本文深入分析其两种实现模式(公平队列与非公平栈),解读其无锁化的CAS算法、线程匹配策略及高并发优化设计,并对比其与其他阻塞队列的性能差异,最后探讨在线程池等场景的最佳实践。关键词:SynchronousQueue、无缓冲队列、CAS、线程匹配、高并发优化

2025-04-17 07:45:00 1191

原创 java集合详解 - LinkedBlockingQueue 详解

LinkedBlockingQueue 是 Java 并发包(java.util.concurrent)中的一个线程安全的阻塞队列实现,它基于链表结构。

2025-04-16 07:45:00 640

原创 java集合详解 - ArrayBlockingQueue详解

ArrayBlockingQueue 是 Java 并发包(java.util.concurrent)中一个基于数组实现的有界阻塞队列,它实现了 BlockingQueue 接口。

2025-04-15 07:45:00 1138

原创 java集合详解 - ArrayDeque 详解

ArrayDeque 是 Java 集合框架中一个非常重要的双端队列实现,它同时实现了 Deque 接口和 Queue 接口。以下是关于 ArrayDeque 的全面解析:

2025-04-14 07:45:00 931

原创 java集合详解 - PriorityBlockingQueue 详解

单向阻塞:只在取元素时(队列为空)阻塞条件等待:通过实现优雅等待自动唤醒:插入元素时自动唤醒等待的消费者线程安全:所有操作由同一把锁保护无界特性:插入操作永不阻塞(可能引发OOM需要注意)这种设计使其非常适合需要按优先级处理任务的生产者-消费者场景,同时避免了有界队列的复杂性。

2025-04-12 10:00:00 973

原创 java集合详解 - PriorityQueue 详解

PriorityQueue(优先级队列)是 Java 集合框架中的一个类,实现了 Queue 接口。它基于堆(Heap)数据结构实现,默认情况下是一个最小堆(最小元素在队首),但可以通过自定义 Comparator 改为最大堆或其他排序方式。PriorityQueue 是处理优先级任务的理想选择,特别适合需要频繁访问极值但不需要全局排序的场景。理解其底层实现原理有助于开发高性能的优先级调度系统。

2025-04-11 08:00:00 1093

原创 java集合详解 - ConcurrentHashMap详解

是 Java 并发包 () 中提供的一个线程安全的哈希表实现,它是对HashMap的线程安全版本,但比Hashtable或有更好的并发性能。

2025-04-10 20:22:52 1172

原创 java集合详解 - TreeSet详解

可以在构造。

2025-04-10 07:00:00 854

原创 java集合详解 - TreeMap详解

java集合类 TreeMap

2025-04-09 00:03:04 867

原创 java集合详解 - LinkedHashSet详解

是 Java 集合框架中的一个重要类,它继承自HashSet,同时实现了Set接口。它的核心特点是。

2025-04-08 08:30:00 993

原创 java集合详解 - LinkedHashMap详解

是 Java 集合框架中的一个重要类,它继承自HashMap,并在其基础上。这使得它既能像HashMap一样高效,又能保持可预测的迭代顺序。equals()hashCode()nullnullHashMap多线程环境下应使用或使用(但不保证顺序)。通过可轻松实现 LRU 缓存。比HashMap占用更多内存(因维护双向链表)。遍历比HashMap更快(直接按链表顺序访问,无需处理哈希桶)。(如配置项加载)。(最近最少使用算法)。(如日志记录、事件队列)。HashMap。

2025-04-07 08:30:00 1143

原创 Java集合详解 - HashSet详解

HashSet是 Java 集合框架中的一个重要类,它实现了Set接口,用于存储不重复的元素。HashSet是最常用的 Set 实现,适用于需要快速查找且不关心顺序的场景。

2025-04-06 21:47:34 924

原创 CopyOnWriteArrayList详解 ArrayList多线程使用

CopyOnWriteArrayList详解 ArrayList多线程使用 java集合详解 java多线程

2025-04-06 16:44:27 748

原创 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 769

原创 LinkedList详解

LinkedList 是 Java 集合框架中 List 接口和 Deque 接口的双向链表实现。与 ArrayList 基于数组的实现不同,LinkedList 使用链表数据结构存储元素。

2025-03-31 08:30:00 402

原创 HashMap详解(Java8)

HashMap面试题,HashMap算法

2025-03-29 23:31:09 356

jquery1.4.2库 jquery1.4.2中文参考手册

jquery1.4.2库 jquery1.4.2中文参考手册

2010-07-03

jquery1.4.1中文参考手册

jquery1.4.1中文参考手册 很好用的jquery1.4.1中文参考手册

2010-07-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除