并发编程中的 ABA问题是什么?如何解决?
在并发编程中,ABA问题是一个常见的问题,尤其是在使用乐观锁或无锁算法时,虽然这个问题并不是 Java特有的,但在Java中,当使用与CAS(Compare-A…
Thread.sleep(0)会导致线程睡眠吗?
在作为Java程序员,我们都知道Thread.sleep()是用于线程睡眠,那么,Thread.sleep(0)是做什么用呢?这篇文章,我们就来聊一聊。
1. …
Spring Boot 3.2 尝鲜,开箱即用的虚拟线程和 GraalVM
Spring Boot 3.2 已经发布,让我们用 Java 21、GraalVM 和虚拟线程来尝试一下。
Spring Boot 3.2 支持:
Java …
千万不要把 Request 传递到异步线程里面!有坑!
前几天在网上冲浪的时候看到一篇技术文章,讲的是他把一个 request 请求传递到了线程池里面,然后遇到了一个匪夷所思的情况。
他写了这篇文章,把自己针对这个问…
Java多线程编程-(9)-使用线程池实现线程的复用和一些坑的避免
线程复用:线程池
首先举个例子:
假设这里有一个系统,大概每秒需要处理5万条数据,这5万条数据为一个批次,而这没秒发送的5万条数据数据需要经过两个处理过程,第…
Java多线程编程-(12)-单例模式几种写法的错与对
Java多线程编程-(11)-面试常客ThreadLocal出现OOM内存溢出的场景和原理分析
一、背景知识
在所有的主流23中设计模式中,单例模式作为最简单…
Java 多线程并行计算框架:ForkJoin,实战讲解!
一、摘要
从 JDK 1.7 开始,引入了一种新的 Fork/Join 线程池框架,它可以把一个大任务拆成多个小任务并行执行,最后汇总执行结果。
比如当前要计…
深入解析线程的等待与唤醒机制,硬核干货!
01、背景介绍
在之前的线程文章中,我们介绍了synchronized和volatile关键字,使用它能解决线程同步的问题,但是它们无法解决线程之间协调和通信…
盘点并发编程中几个实用的线程同步技术
01、背景介绍
下面我们一起来了解一下这些常用的并发工具类!
02、常用并发工具类
2.1、CountDownLatch
CountDownLatch是 J…
浅谈ConcurrentHashMap 线程安全的具体实现方式
01、摘要
在之前的集合文章中,我们了解到 HashMap 在多线程环境下操作可能会导致程序死循环的线上故障!
既然在多线程环境下不能使用 HashMap,那…
Java 日志组件@Slf4j 介绍及配置详解
1 基本介绍
每一个Java程序员都知道日志对于任何一个Java应用程序尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库,如java.uti…
TaskDecorator——异步多线程中传递上下文等变量
TaskDecorator——异步多线程中传递上下文等变量
开发中很多数据如oauth2的认证信息,日志TracerId都是在请求线程中的,如果内部使用多线程处…
案例分析|线程池相关故障梳理&总结
阿里妹导读
本文作者梳理和分享了线程池类的故障,分别从故障视角和技术视角两个角度来分析总结,故障视角可以看到现象和教训,而技术视角可以透过现象看到本质更进一步…