首页
学习
活动
专区
圈层
工具
发布

#线程

深度拆解Tomcat:从架构设计到生产实践,这些年踩过的坑都在这里了

悠悠12138

说起Tomcat,估计每个搞Java开发和运维的同学都不陌生。但是真要问你Tomcat的内部工作原理,能完整说清楚的人其实不多。我在生产环境摸爬滚打这些年,从最...

100

【JavaSE】Callable/ReentrantLock/Atomic/Semaphore/CountDownLatch && 线程安全的集合类 && 死锁

lirendada

Semaphore 是 信号量机制 的实现,用于控制对某些资源的访问数量。它的核心作用是:允许多个线程同时访问某个资源,但限制最大线程数。

1400

线上问题定位神器:Arthas,已接入MCP

苏三说技术

CPU飙高、接口变慢、内存泄漏,每一次都是手忙脚乱,一边翻Arthas命令手册,一边对着控制台输出猜问题。

4610

今天不聊技术,发两道题.为什么?年底了,做完可能有惊喜哦

烟雨平生

通过tryAcquire(int tokens)来获取令牌,且支持并发调用。不能用额外的线程来维护令牌桶中的令牌数。

2810

DeferredResult真相:没有提高QPS,没有优化系统性能!那Spring为什么要发布这个功能?有示例源码

烟雨平生

同时DeferredResult有增加系统负载的风险,如何使用要提前做好评估。是不是感觉与Service层方法加@Async的效果相同?是的,都是在优化work...

2310

面试官:响应式编程和虚拟线程怎么选?看完这篇不再被问倒

用户9574405

虚拟线程不与特定操作系统线程绑定,而是在平台线程(载体线程)上运行Java代码,但在代码整个生命周期内不独占平台线程。多个虚拟线程可以在同一个平台线程上运行,共...

7210

深入拆解 Java CAS:从底层原理到 ABA 问题实战

果酱带你啃java

ABA问题是CAS操作中的一个经典问题,指的是:线程1从内存地址V中读取值A,此时线程2也读取了值A,然后线程2将V的值修改为B,接着又修改回A,最后线程1执行...

5610

MySQL 主从复制全解:底层原理、复制模式差异、主从延迟排查与优化实战

果酱带你啃java

MySQL主从复制的核心是单主多从的流式日志同步架构,全链路由3个核心线程协同完成,分别是主库的Binlog Dump线程、从库的IO Thread与SQL T...

6710

吃透 Spring Boot 3 + Spring Cloud 云原生新特性

果酱带你啃java

云原生架构的普及,对Java应用的启动速度、内存占用、弹性伸缩能力提出了全新要求。Spring Boot 3 作为Spring生态里程碑式的版本,基于Sprin...

8010

IDEA 2026.1 重磅更新:Java 开发效率翻倍的核心新特性全拆解

果酱带你啃java

过往版本中,虚拟线程的调试存在明显短板,设置断点后会暂停整个JVM的所有虚拟线程,无法针对单个虚拟线程进行调试,同时无法查看虚拟线程的调度状态。本次版本新增了虚...

14020

线上 JVM 故障秒解:Arthas 高阶用法与全链路定位实战指南

果酱带你啃java

线上服务突然CPU飙高100%、接口超时频发、FullGC每隔几分钟一次、线程死锁导致服务卡死、出现异常却没有打印日志,重启服务后问题消失却找不到根因,下次还会...

6810

Java 8→21 全链路架构升级指南:核心特性、底层演进与生产级兼容避坑全解

果酱带你啃java

在Java 21之前,Java的Thread类是对操作系统内核线程的封装,也就是平台线程(Platform Thread),采用1:1的线程映射模型,一个Jav...

4310

JVM 运行时数据区全解:从底层原理到 OOM 根因定位全链路实战

果酱带你啃java

线程私有区域随线程创建而分配,随线程销毁而回收,不存在线程安全问题,每个区域的职责与异常边界完全独立。

5310

别再只会用 volatile!JMM 三大核心全解:从根上搞定 Java 并发诡异问题

果酱带你啃java

这些问题的本质,都和CPU缓存、指令重排、多线程内存交互规则直接相关,而JMM(Java内存模型)正是Java官方定义的、用来规范多线程环境下内存交互行为的唯一...

3310

synchronized 锁升级全流程

果酱带你啃java

这三个方法均基于ObjectMonitor实现:调用wait()会释放锁并将线程加入WaitSet队列,调用notify()会唤醒WaitSet中的线程,这些操...

4110

别再只会用 synchronized!Java 并发编程全链路核心体系,从底层原理到生产实战全覆盖

果酱带你啃java

CPU的运算速度比主存快了上千倍,为了提升性能,CPU引入了多级缓存、寄存器,编译器和CPU会对指令进行重排序优化。这就导致在多线程场景下,线程对变量的修改,其...

5910

吃透JUC框架:从底层原理到实战落地,解决并发编程90%的问题

果酱带你啃java

线程池是JUC中最常用的组件之一,用于“管理线程生命周期、复用线程、控制并发数”,避免频繁创建/销毁线程带来的性能开销。JUC中的线程池核心实现是ThreadP...

4710

百万消息积压 4 小时,我靠这套方案快速止血

果酱带你啃java

在分布式系统中,消息队列就像“交通枢纽”,承接生产者的消息、调度消费者的消费节奏,是解耦、削峰、异步通信的核心组件。但一旦出现“百万消息积压几小时”的问题,就相...

3910

深度解析@Async注解:从实战应用到底层原理,避坑指南全攻略

果酱带你啃java

默认情况下,@Async使用的是Spring提供的SimpleAsyncTaskExecutor,该线程池的核心问题的是:每次执行异步任务都会创建一个新线程,不...

4010

线程池单例模式实现

果酱带你啃java

在Java并发编程中,线程池是控制线程生命周期、提升系统性能的核心组件,而单例模式则是确保实例唯一、避免资源浪费的经典设计模式。将两者结合,实现“线程池的单例模...

2600
领券