排序
CompletableFuture 详解
一个接口可能需要调用 N 个其他服务的接口,这在项目开发中还是挺常见的。举个例子:用户请求获取订单信息,可能需要调用用户信息、商品详情、物流信息、商品推荐等接口,最后再汇总数据统一返...
SQL语句在MySQL中的执行过程
本文来自木木匠本篇文章会分析下一个 SQL 语句在 MySQL 中的执行流程,包括 SQL 的查询在 MySQL 内部会怎么流转,SQL 语句的更新是怎么完成的。在分析之前我会先带着你看看 MySQL 的基础架构,...
Atomic 原子类总结
Atomic 原子类介绍Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线...
MQ消息队列八股系列(3)
21、RocketMQ如何保证消息不丢失? 在 RocketMQ 中,消息的可靠性和一致性可以通过以下几个机制来保障: 1. 消息持久化 同步刷盘(SYNC_FLUSH) 描述:消息写入后立即同步刷盘,将消息持久化到...
Java 常见并发容器总结
JDK 提供的这些容器大部分在 java.util.concurrent 包中。ConcurrentHashMap : 线程安全的 HashMapCopyOnWriteArrayList : 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector。Con...
虚拟线程极简入门
本文部分内容来自 Lorin 的PR。虚拟线程在 Java 21 正式发布,这是一项重量级的更新。什么是虚拟线程?虚拟线程(Virtual Thread)是 JDK 而不是 OS 实现的轻量级线程(Lightweight Process,LWP...
Java并发常见面试题总结1
什么是线程和进程?何为进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函...
Java基础常见面试题总结(2).md
面向对象基础面向对象和面向过程的区别两者的主要区别在于解决问题的方式不同:面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象会先抽象出对象,然后用对象执...
AQS 详解
AQS 介绍AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。AQS 就是一个抽象类,主要用来构建锁和同步器。 public...
InnoDB存储引擎对MVCC的实现
多版本并发控制 (Multi-Version Concurrency Control)MVCC 是一种并发控制机制,用于在多个并发事务同时读写数据库时保持数据的一致性和隔离性。它是通过在每个数据行上维护多个版本的数据来实...