并发编程中的 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中设计模式中,单例模式作为最简单…

初探性能优化–2个月到4小时的性能提升!

作者:闪客sun | 博客园
https://www.cnblogs.com/flashsun
一直不知道性能优化都要做些什么,从哪方面思考,直到最近接手了一…

SqlSession线程安全问题

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

支撑瞬间百万QPS的热点文章服务的设计

在我们的日常生活中,总是在一个不经意间就会出现一个大新闻,如某某一线明星出轨、某某明星官宣结婚、某某明星偷税漏税等等。这个都是我们粉丝或者吃瓜群众感兴趣的话题,…

百万QPS下热点数据的收集方案

在高并发场景下,如京东、淘宝的秒杀活动开始时候,会有很多的用户同时抢购秒杀商品,由于同一个场次成百上千种商品参与秒杀活动,但是热点的商品往往就只有那么几十个左右…

线上百万MQ消息积压的快速处理方案

在我们日常的生产环境上,由于某些原因(如消费者代码中bug、消费者端使用的中间件存在性能问题)导致消费者不能处理消息或者消费者处理速度极慢进而导致了线上出现百万…

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

一、摘要

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

深入解析线程的等待与唤醒机制,硬核干货!

01、背景介绍
在之前的线程文章中,我们介绍了synchronized和volatile关键字,使用它能解决线程同步的问题,但是它们无法解决线程之间协调和通信…

盘点并发编程中几个实用的线程同步技术

01、背景介绍
下面我们一起来了解一下这些常用的并发工具类!
02、常用并发工具类
2.1、CountDownLatch
CountDownLatch是 J…

浅谈ConcurrentHashMap 线程安全的具体实现方式

01、摘要
在之前的集合文章中,我们了解到 HashMap 在多线程环境下操作可能会导致程序死循环的线上故障!
既然在多线程环境下不能使用 HashMap,那…

用户passport 服务Token:如何降低用户身份鉴权的流量压力?

许多网站在初期阶段通常使用 Session 方式来实现用户登录鉴权。具体而言,当用户成功登录后,服务端会将用户的相关信息存储在 Session 缓存 中,并生成…

如何设计高并发系统

## 1、技术角度

###(1)系统的拆分

把一个系统拆分成多个子系统,也就是将一个单体的应用根据它不同的模块拆分成不同的微服务,如下图所示单体应用:

高并发下如何保证单例模式的线程安全

单例模式是常用的软件设计模式之一,同时也是设计模式中最简单的形式之一,在单例模式中对象只有一个实例存在。单例模式的实现方式有两种,分别是懒汉式和饿汉式。
1、饿…

Java 日志组件@Slf4j 介绍及配置详解

1 基本介绍
每一个Java程序员都知道日志对于任何一个Java应用程序尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库,如java.uti…