CAS 的 ABA 问题怎么解,AtomicStampedReference 加版本号就完了
先看一段能真出事的代码,一个用 CAS 实现的无锁栈:public class LockFreeStack {private final AtomicReference top = new AtomicReference();public
Java 27正式发布,9项JEP齐上阵:G1成默认GC,还把后量子加密带来了
在11月20-21日 · 北京万达文华酒店,「2026 奇点智能技术大会 与 C++ 及系统软件技术大会」现场,本文讨论的 AI 编程工具的能力边界、程序员的核心竞争力、研发效能与语言演进等议题,正是本届大会的核心专题——现场 70+ 一线实战技术嘉宾、18 大 AI 与系统软件专题。
为什么你学了 3 年 Java 还不敢碰并发和 JVM?这篇帮你补齐
本文配套 12 周学习路线 + 8 张核心图示 + 15 段可运行代码,建议收藏后对照练习。 一、Java 工程师 12 周成长地图关键判断:并发与 JVM 是分水岭(图中橙色阶段),这里学不透,后面 Web 和框架都是空中楼阁。
Go Channel并发死锁:与Java并行对比
Go Channel并发死锁:与Java并行对比很多人把并发和并行混为一谈。并发是任务在时间上重叠的结构,并行是任务在物理上同时执行。Go 用 goroutine 和 channel 把并发做成语言原语,Java 则用线程、锁和 JUC 包。
JVM-14: 逃逸分析:对象不一定在堆上
一、全景:对象不一定在堆上前面几章我们反复说:new 出来的对象都在堆上。这句话在 Java 课里成立,在 JIT 的世界里只对了一半。有些对象从头到尾没进过堆。JIT 把它拆成几个寄存器里的值,new 这个动作本身都省了。干这件事的机制,叫逃逸分析。
Java 并发编程:线程池、锁、CAS 与 CompletableFuture
在 Java 后端开发中,并发编程几乎无处不在。用户同时访问系统、多个设备同时上报数据、后台任务批量执行、订单同时创建、消息异步消费……这些场景背后,都离不开 Java 并发编程。例如,一个能源管理平台需要同时处理数千台设备的数据上报。
JVM-09: Java 堆:对象的生与死
上一篇收尾时说,下一篇回到线程共享的地盘。这篇就是:Java 堆,JVM 里最大的一块内存,你写下的每一个 new,最终都落在这里。这一篇围绕对象的一生展开:new 一行代码背后发生了什么,内存从哪里划出来,对象在内存里长什么样、有多重、怎么被访问、什么时候死。
13-Arthas 类与类加载器命令:sc / sm / jad / classloader
#Arthas #类加载 #JDK8 #JVM教程 #线上问题排查版本声明:本文基于 Arthas 4.x 与 JDK 8(1.8.0_x) 编写。凡涉及 JDK 9+ 的差异,一律以「版本演进注记」单独标注。