
JUC
文章平均质量分 93
CodeLongBear
欢迎一起交流Java后端知识
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解Java并发编程核心:从基础到高级
Java并发编程核心原理与实践摘要 本文系统讲解了Java并发编程的核心概念与高级实践。首先剖析了并发编程的两大基石:可见性(线程间数据同步问题)和原子性(操作不可分割性),并给出volatile、synchronized和原子类等解决方案。其次介绍了Balking设计模式及其在单例懒加载中的应用,重点解析了双重检查锁定机制。随后深入探讨了指令重排序的危害及内存屏障机制,解释了JMM如何通过happens-before规则保证多线程操作顺序。文章结合代码实例,从底层原理到高级设计模式,构建了完整的并发编程知原创 2025-09-30 07:00:00 · 1610 阅读 · 0 评论 -
深入理解JVM锁优化:偏向锁、批量重偏向与批量撤销
本文深入解析了JVM中synchronized的锁优化机制,重点介绍了偏向锁、批量重偏向和批量撤销三种优化策略。偏向锁通过"单线程认主"机制提升重复获取锁的性能,批量重偏向解决线程池场景下锁的频繁重新绑定问题,而批量撤销则在激烈竞争场景下及时止损。这三种策略共同构成了JVM自适应的锁优化体系,能够根据不同并发场景智能调整锁机制,在保证线程安全的同时最大化性能表现。理解这些底层机制有助于开发者编写更高效的并发代码。原创 2025-09-28 07:00:00 · 1098 阅读 · 0 评论 -
深入理解两阶段终止模式:让 Java 线程优雅退出的艺术
本文介绍了Java并发编程中优雅终止线程的两阶段终止模式。该模式通过协作式中断解决暴力终止线程导致的数据不一致和资源泄漏问题,分为请求中断(设置标志位)和处理后事(清理资源)两个阶段。关键点包括正确处理中断标志位清除、防御性判断、不可中断方法处理以及清理逻辑的幂等性。该模式适用于监控线程、后台任务等需要资源管理的场景,体现了线程协作的思想,确保系统稳定性和数据完整性。相比直接终止线程,两阶段终止模式让线程能够安全可控地完成生命周期。原创 2025-09-27 07:00:00 · 1113 阅读 · 0 评论 -
JUC--快速理清线程的状态
六种状态是 Java 语言给你的 “官方答案”,是你在写代码时需要理解和使用的模型。当你调用时,得到的就是这六种状态之一。五种状态是 “底层原理”,帮助你理解操作系统和 JVM 是如何管理线程的。它解释了RUNNABLE状态内部的工作机制。所以,当你被问到这个问题时,可以这样回答:“Java 线程在 API 层面被定义为六种状态:NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED。原创 2025-09-26 07:00:00 · 983 阅读 · 0 评论