技术栈
并发编程
Thanks_ks
2 天前
java
·
redis
·
分布式锁
·
redisson
·
微服务架构
·
并发编程
·
高可用
分布式锁:Redis 与 Redisson 的工程实践与避坑指南
在单机架构中,我们通常使用 synchronized 或 ReentrantLock 来控制多线程对共享资源的并发访问。然而,随着业务的演进,系统往往会不可避免地走向分布式架构。当多个服务实例同时尝试修改同一个共享资源(例如扣减库存、处理账户余额)时,单机的本地锁便失效了。此时,我们需要引入分布式锁来保证跨进程的数据一致性。
Chen--Xing
3 天前
python
·
多线程
·
并发编程
Python -- 并发编程
在python中,无论CPU有多少个核,在Cpython解释器中都是假象,同一时间执行的线程只有一个线程,这是python开发时的设计缺陷,因此python中的线程是“含有水分的线程”。
青山师
4 天前
java
·
单例模式
·
面试
·
性能优化
·
并发编程
CompletableFuture深度解析:异步编程范式与源码实现
文章标签: #java #并发编程 #异步 #CompletableFuture #源码分析 #函数式编程 #性能优化
Byron__
8 天前
java
·
面试
·
多线程
·
并发编程
Java并发核心面试知识点
本文为自用复习笔记,核心用于梳理Java并发编程核心高频考点,方便后续快速回顾、巩固底层细节,规避面试易踩坑点,查漏补缺遗忘的基础原理。
Thanks_ks
14 天前
java
·
多线程
·
并发编程
·
底层原理
·
写时复制
·
copyonwrite
·
性能优
透过 Copy-On-Write 机制:理解并发编程中的性能与一致性权衡
在多线程编程的广阔领域中,读写冲突是最经典且令人头疼的问题之一。通常我们的第一反应是使用互斥锁,或者更进一步,使用 Java 等语言提供的读写锁(如 ReentrantReadWriteLock)。读写锁虽然在一定程度上分离了读和写,但在写操作发生时,所有的读操作依然会被强制阻塞。在 “读多写少” 的极端场景下,这种阻塞带来的上下文切换开销是非常巨大的,甚至可能导致写线程由于抢不到锁而产生饥饿现象。
学会去珍惜
15 天前
正则表达式
·
编程语言
·
文件操作
·
并发编程
·
文本处理
c语言“或”符号
Python文本处理教程大全本专题围绕“Python文本处理从入门到精通”,系统讲解字符串操作、正则表达式、文本清洗、分词处理及文件读写等核心技能。内容涵盖基础语法到高级应用,结合实战案例帮助读者快速提升数据处理能力,适合初学者与进阶开发者参考学习,助力高效完成各类文本处理任务。
同勉共进
18 天前
c++
·
arm
·
并发编程
·
x86
·
store
·
load
·
rmw
并发编程系列(二)—— store, load 与 RMW
注意,store buffer 不是缓存,它属于 CPU 而不是缓存系统。现代高性能的超标量处理器几乎都配备了 Store Buffer,可能叫法不同,但都有类似的“东西”和机制。
一叶飘零_sweeeet
1 个月前
java
·
并发编程
深入拆解 Fork/Join 框架:核心原理、分治模型与参数调优实战
在Java并发编程的演进历程中,JDK 7引入的Fork/Join框架是一个里程碑式的创新。它专为并行计算设计,基于分治思想,通过“工作窃取”算法实现高效的任务调度,能够充分利用多核CPU的计算能力。
oldmao_2000
1 个月前
开发语言
·
c++
·
多线程编程
·
并发编程
第八章 设计并发代码
数据被划分给不同的线程,每个线程独立地处理其分配到的数据块,直到完成处理,而不需要与其他线程进行通信。 就像把一大块蛋糕切成几份,每人吃自己的那份,最后把吃完的盘子摞在一起。 技术本质:静态任务划分(Static Partitioning) —— 在程序开始执行前,就将数据集预先分割成若干连续的数据块,每个线程负责处理一个数据块。例如下图:在线程之间分配连续的数据块
一叶飘零_sweeeet
1 个月前
java
·
cas
·
并发编程
深入拆解 Java CAS:从底层原理到 ABA 问题实战
在Java并发编程的世界里,锁是保证线程安全的常用手段,但独占锁的性能开销往往成为高并发场景的瓶颈。CAS(Compare-And-Swap,比较并交换)作为一种无锁并发算法,通过硬件级别的原子操作实现了线程安全,成为Java并发包(java.util.concurrent)的基石。本文将深入拆解CAS的底层原理,剖析ABA问题的产生与解决方案,并详解Unsafe类在CAS中的核心作用。
一叶飘零_sweeeet
1 个月前
java
·
并发编程
ConcurrentHashMap 深度解析:从 JDK7 到 JDK8 的演进与并发安全保障
在 Java 并发编程中,ConcurrentHashMap 是线程安全哈希表的核心实现,相比 Hashtable 的全表锁机制,它通过更细粒度的锁设计和数据结构优化,实现了更高的并发性能。
都说名字长不会被发现
1 个月前
java
·
spring
·
线程池
·
并发编程
Spring 线程池最佳实践:如何优雅管理多线程任务
在 Spring 项目中使用 @Async 注解可以实现方法的异步执行,提升系统吞吐量。然而,默认情况下 Spring 使用 SimpleAsyncTaskExecutor,它会为每个任务创建新线程,导致线程频繁创建销毁,开销巨大。更严重的是,所有异步任务共用一个线程池,无法实现资源隔离,一个任务出现问题可能影响整个系统。
庞轩px
1 个月前
java
·
jvm
·
面试
·
并发编程
·
mysql与redis
·
spring与消息队列
·
网络协议与设计模式
后端开发面试题总结
本文专为Java后端面试求职者制作的面试经典题汇总,覆盖95%的高频面试题。以下的问题通过"问题 + 要点 + 回答"的格式展现,请通过文章目录快速找到对应问题。
Javatutouhouduan
1 个月前
并发编程
·
java面试
·
java面试题
·
后端开发
·
java编程
·
java程序员
·
java八股文
阿里Java面试核心讲(终极版)首次公开!
程序员面试背八股,可以说是现在互联网开发岗招聘不可逆的形式了,其中最卷的当属Java!(网上动不动就是成千上百道的面试题总结)你要是都能啃下来,平时技术不是太差的话,面试基本上问题就不会太大。
庞轩px
2 个月前
java
·
并发编程
·
juc
·
aqs
·
reentrantlock
AQS(AbstractQueuedSynchronizer)源码深度解析:从CLH队列到ReentrantLock实现
在Java并发编程的世界里,AQS(AbstractQueuedSynchronizer)是一个里程碑式的存在。它是java.util.concurrent包的基石,ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier等并发工具都是基于AQS构建的。
庞轩px
2 个月前
并发编程
·
synchronized
·
aqs
·
锁
·
reentrantlock
Synchronized 与 ReentrantLock 深度对比
在Java并发编程中,锁机制是保证线程安全的核心手段。synchronized 和 ReentrantLock 是两种最常用的锁实现,面试中经常被要求对比它们的区别。
我真会写代码
2 个月前
java
·
并发编程
深度解析ConcurrentHashMap:从底层原理到生产实战,搞定并发安全映射(含面试避坑)
在Java并发编程、微服务架构与分布式系统中,哈希表是实现“键值对存储、快速查询”的核心数据结构,而ConcurrentHashMap作为HashMap的并发增强版,凭借“高并发、高安全、高性能”的核心优势,成为多线程环境下首选的映射容器——从缓存存储(本地缓存、分布式缓存辅助)、会话管理,到高并发接口的请求处理、线程间数据共享,ConcurrentHashMap几乎贯穿所有Java后端开发场景。
我真会写代码
2 个月前
java
·
并发编程
·
锁
深度解析并发编程锁升级:从偏向锁到重量级锁,底层原理+面试考点全拆解
在Java并发编程中,synchronized的锁升级机制,是JVM对并发性能的极致优化,也是中高级面试的“必问重难点”。很多开发者只知道“锁会从偏向锁升级到轻量级锁,再到重量级锁”,却讲不清“为什么要升级”“升级的触发条件是什么”“底层如何实现”,一被追问就翻车。
一只大袋鼠
2 个月前
java
·
单例模式
·
并发编程
并发编程(二十三):单例模式(二):静态/非静态方法:单例内存优化关键
单例模式的核心是保证一个类全局仅有一个实例,而实际开发中,我们不仅要实现单例,更要兼顾内存优化、线程安全与扩展性。并发编程(二十二):单例模式总览篇:概念、分类与基础实现-CSDN博客
一只大袋鼠
2 个月前
java
·
单例模式
·
并发编程
并发编程(二十四):单例模式(三):构造方法私有:单例模式的 “第一道防线”
Java 中创建对象的核心方式:new XXX() → 本质是调用 XXX 的构造方法如果把构造方法设为 private:外部类(比如 Test 类)无法访问这个构造方法,自然就写不了 new ServletSingleton()