并发编程中的 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中常见的数据结构而言,一般的,ArrayList是非线程安全的,Ve…

Java多线程编程-(9)-使用线程池实现线程的复用和一些坑的避免

线程复用:线程池

首先举个例子:
假设这里有一个系统,大概每秒需要处理5万条数据,这5万条数据为一个批次,而这没秒发送的5万条数据数据需要经过两个处理过程,第…

Java多线程编程-(12)-单例模式几种写法的错与对

Java多线程编程-(11)-面试常客ThreadLocal出现OOM内存溢出的场景和原理分析
一、背景知识

在所有的主流23中设计模式中,单例模式作为最简单…

SqlSession线程安全问题

1、SqlSession为什么是数据不安全的
(1)SqlSession的底层实现是基于JDBC的Connection对象,而Connection对象是非线程安…

Java 多线程并行计算框架:ForkJoin,实战讲解!

一、摘要

从 JDK 1.7 开始,引入了一种新的 Fork/Join 线程池框架,它可以把一个大任务拆成多个小任务并行执行,最后汇总执行结果。
比如当前要计…