首页
归档
分类
标签
动态
相册
牧云
怀璧慎显,博识谨言。
累计撰写
200
篇文章
累计创建
19
个标签
累计收到
8
条评论
栏目
首页
归档
分类
标签
动态
相册
目 录
CONTENT
Java-牧云
以下是
Java
相关的文章
2026-05-14
Java 应用 CPU 100% 排查分析手册
当线上 Java 应用出现 CPU 100% 告警时,往往意味着服务响应变慢、接口超时甚至节点宕机。本手册将为你梳理一套从“紧急定位”到“深度分析”再到“根治优化”的标准化排查流程。 阶段一:紧急定位与现场快照(黄金5分钟) 当监控告警提示 CPU 飙升时,首要任务是快速锁定“元凶”线程并保留现场。
2026-05-14
10
0
0
技术专题
2026-05-14
Java OOM 排查分析与修复实战手册
阶段一:事前预防与基础配置(未雨绸缪) 在 OOM 发生前,必须做好以下基础配置,否则排查将寸步难行: 配置 OOM 自动快照:在 JVM 启动参数中加入以下配置,确保 JVM 崩溃时能自动保留“犯罪现场”: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpP
2026-05-14
8
0
0
技术专题
2026-05-14
SpringBoot 启动流程
1. 概述 SpringBoot 的启动流程并非黑盒,其核心逻辑可以高度概括为两个主要阶段:初始化阶段(构建 SpringApplication 实例)与 运行阶段(执行 run 方法并刷新容器)。理解这一流程有助于排查启动错误、优化启动速度以及进行自定义扩展。 2. 阶段一:初始化 (Initia
2026-05-14
5
0
0
技术专题
2026-05-14
Spring Bean 生命周期
1. 生命周期全景图 (Mermaid) 以下流程图展示了 Spring Bean 从实例化到销毁的完整路径,以及关键扩展点的介入时机。 [开始] | v 1. 实例化 (Instantiation) | <--- InstantiationAwareBeanPostProcessor
2026-05-14
13
0
0
技术专题
2026-05-14
Spring循环依赖:三级缓存与@Lazy
在Spring应用开发中,循环依赖(Circular Dependency) 是一个既常见又令人头疼的问题。特别是在大型项目迭代或多人协作开发时,经常会出现启动报错 BeanCurrentlyInCreationException。 很多开发者知道Spring能解决循环依赖,但往往不清楚为什么能解决
2026-05-14
4
0
0
技术专题
2026-05-14
Java 内存模型(JMM)深度解析:从抽象规范到硬件实现
Java 内存模型(Java Memory Model, JMM)是 Java 并发编程的基石。它并非描述物理内存的布局,而是一套抽象规范,旨在定义多线程环境下变量的访问规则。 理解 JMM 的核心在于理清其层级结构:顶层是抽象的内存可见性与有序性需求,中间层是 Happens-before 逻辑规
2026-05-14
5
0
0
技术专题
2026-05-14
非公平锁一定更好吗?揭秘公平锁的适用场景
在 Java 并发编程中,ReentrantLock 和 synchronized 默认采用的都是非公平锁。许多开发者因此形成了一种刻板印象:非公平锁性能更好,是“默认且最佳”的选择。 然而,非公平锁并不一定在所有场景下都更好。虽然它在吞吐量上占据优势,但其固有的“插队”机制可能导致线程饥饿。本文将
2026-05-14
7
0
0
技术专题
2026-05-14
深入解析 Java 高并发计数器:LongAdder vs AtomicLong
在 Java 并发编程中,线程安全的计数操作是极其常见的需求。JDK 提供了 AtomicLong 和 LongAdder 两种主要工具。虽然它们都能实现原子计数,但在高并发场景下的表现却天差地别。本文将深入探讨两者的底层原理、性能差异及最佳实践。 1. 核心区别概览 简单来说,AtomicLong
2026-05-14
4
0
0
技术专题
2026-05-14
Java 线程协作全景图:从 wait/notify 到 Condition 再到 LockSupport
在 Java 并发编程中,线程协作(Thread Cooperation) 是让多个线程有序执行、避免资源竞争的核心机制。很多开发者熟悉 wait()/notify(),但在面对复杂场景时,往往对 Condition 的 await()/signal() 以及底层的 LockSupport.park
2026-05-14
7
0
0
技术专题
2026-05-14
深入理解 Java volatile:从 JMM 到内存屏障的底层原理
在 Java 并发编程中,volatile 是一个既熟悉又容易误用的关键字。很多开发者认为加上 volatile 就能解决所有多线程问题,但实际上它并不保证原子性。那么,volatile 到底做了什么?它是如何保证可见性和有序性的?本文将结合 Java 内存模型(JMM)、CPU 缓存一致性协议以及
2026-05-14
8
0
0
技术专题
1
2
3
4
5