threadlocal

__土块__7 天前
spring·threadlocal·编程式事务·@transactional·事务传播·源码走读·requires_new
一次 Spring 事务传播机制源码走读:从误用 @Transactional 到理解嵌套事务的边界“@Transactional 不是套个注解就万事大吉的!”会议室里,小李指着白板上的一段代码,语气激动:“我们这个订单服务里,外层方法加了 @Transactional,内层又调了一个带 REQUIRES_NEW 的子方法,结果事务没回滚,数据不一致了!”
敲代码的嘎仔15 天前
java·开发语言·面试·多线程·八股·threadlocal·
Java后端开发——多线程面试题程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的。
庞轩px16 天前
java·jvm·线程·threadlocal·内存泄露·key-value
ThreadLocal 源码分析与内存泄漏问题ThreadLocal 是 Java 中实现线程局部变量的重要工具,被广泛应用于事务管理、链路追踪、用户上下文等场景。然而,面试中关于 ThreadLocal 的追问往往直指其底层设计和内存泄漏问题。
景川呀18 天前
threadlocal
ThreadLocal源码解析在日常的 Java 开发中,我们经常会遇到这样一类问题:如何在不增加方法参数传递成本的情况下,在同一个线程的多个方法调用之间共享数据?例如,请求链路中的用户信息、数据库连接、事务上下文等,这些数据本质上是“与线程绑定”的,但又不适合通过全局共享变量来管理,因为全局变量在多线程环境下会引发并发安全问题。这个时候,ThreadLocal 就成为了一种非常优雅且高效的解决方案。
qq_232045571 个月前
netty·策略模式·nio·内存抖动·threadlocal·bitmap·复用
精积微半导体面试(部分)到面的,本来hr说的是笔试+技术面+hr面,结果技术面完,临时加了一轮远程技术面。volatile关键词能保证读写操作的原子性吗?如果不能,请举例说明。 豆包答
无心水1 个月前
java·开发语言·后端·架构·threadlocal·concurrent·java并发四大坑
【常见错误】1、Java并发工具类四大坑:从ThreadLocal到ConcurrentHashMap,你踩过几个?用了并发工具,就以为线程安全高枕无忧了?别天真了!这四大陷阱让你的代码在并发环境下“翻车”于无形。在多线程编程中,Java提供了丰富的并发工具类库,从ThreadLocal到ConcurrentHashMap,再到CopyOnWriteArrayList,它们极大地简化了并发程序的开发。然而,工具虽好,用不对却可能带来灾难性后果。
weisian1512 个月前
开发语言·jvm·threadlocal
JVM--13-深入ThreadLocal:线程私有数据的隔离艺术与实战陷阱作者:Weisian 发布时间:2026年2月14日在高并发编程中,我们常常需要为每个线程维护一份独立的数据副本——比如用户上下文、事务 ID、请求追踪信息等。若使用全局变量或静态变量,多个线程会相互干扰;若通过方法参数层层传递,又会导致代码臃肿。
C雨后彩虹2 个月前
java·面试·多线程·同步·异步·threadlocal
ThreadLocal全面总结,从理论到实践再到面试高频题经过前面文章的系统讲解,我们从 ThreadLocal 的入门使用、底层原理、核心结构,到内存泄漏避坑、实战场景、跨线程传递、性能分析,完成了一套完整的知识闭环。
C雨后彩虹2 个月前
java·多线程·同步·异步·threadlocal
跨线程数据传递InheritableThreadLocal的原理在前面的文章中,我们掌握了 ThreadLocal 的核心用法与底层原理,知道它能实现线程内数据共享、线程间数据隔离。但在实际开发中,我们经常会遇到这样的需求:父线程创建的子线程,能否直接获取父线程的 ThreadLocal 数据?
专业的小学生3 个月前
缓存·线程·thread·threadlocal
单线程缓存用户本地单线程缓存,可以防止重复查询数据。注意:由于缓存了,所以中间不能进行更新和删除,主要用于防止多次查询相同的数据。
袁慎建@ThoughtWorks3 个月前
java·jdk·多线程·threadlocal
ThreadLocal那些事儿今天想和大家聊聊一个看似简单却容易让人误解的概念 —— ThreadLocal。这个小家伙在多线程编程中扮演着重要角色,但如果不了解它的内部机制,很容易掉进陷阱里。
zfj3213 个月前
java·开发语言·threadlocal
从源码层面解析一下ThreadLocal的工作原理一切始于 Thread 类。每个 Thread 对象内部都持有两个非常重要的字段:ThreadLocalMap 是 ThreadLocal 的一个静态内部类,它是整个机制的核心。它本质上是一个定制化的、使用线性探测法解决哈希冲突的哈希表。它没有实现 Map 接口。
J_liaty3 个月前
java·spring·threadlocal
ThreadLocal 深度解析:原理、实战与避坑指南在Java多线程编程领域,ThreadLocal一直是一个既强大又容易被误解的工具。它为每个线程提供独立的变量副本,从根本上避免了多线程共享变量带来的竞争问题,成为解决线程安全问题的重要方案之一。无论是在Web开发中存储用户会话信息,还是在框架设计中传递上下文参数,ThreadLocal都发挥着至关重要的作用。本文将从ThreadLocal的核心原理出发,深入剖析其工作机制,通过丰富的代码示例展示其应用场景,并揭示隐藏在"线程隔离"背后的坑与最佳实践。
萧曵 丶3 个月前
java·多线程·threadlocal
ThreadLocal 原理及内存泄漏详解ThreadLocal 是Java中提供的一种线程隔离机制,它允许每个线程拥有自己的变量副本,不同线程之间互不影响。
小毅&Nora3 个月前
线程安全·threadlocal·jdk源码
【Java线程安全实战】③ ThreadLocal 源码深度拆解:如何做到线程隔离?想象一下,你在自助餐厅吃饭,每个人都有自己的餐盘。你不会看到别人用你的餐盘吃饭,也不会担心别人会拿走你的食物。这种"私有"的概念,正是ThreadLocal在多线程编程中扮演的角色——为每个线程提供"私有餐盘",让每个线程都有自己的变量副本,而不会互相干扰。
阿拉斯攀登4 个月前
java·spring boot·threadlocal
ThreadLocal 全解析(Spring Boot 实战篇)目录一、ThreadLocal 核心原理1. 核心定位2. 底层结构(JDK 8+)3. 核心 API
Maiko Star4 个月前
gateway·threadlocal
Gateway网关拦截自定义header & 用户上下文打通实战在微服务架构中,如何在不同服务之间安全、高效地传递用户身份信息是一个常见且重要的需求。本文将详细介绍如何通过Spring Cloud Gateway全局过滤器拦截并处理自定义header,并结合ThreadLocal实现用户上下文在微服务链路上的无缝传递
蜂蜜黄油呀土豆4 个月前
java·并发编程·内存泄漏·threadlocal
ThreadLocal 深度解析:它解决了什么、原理是什么、如何正确使用(含代码与实战建议)ThreadLocal 是 Java 并发编程中一个非常实用但也容易被误用的工具。它看起来像“线程级别的全局变量”:你把一个对象放到 ThreadLocal 上,当前线程可以随时拿回自己的那份实例,不会与其他线程冲突。正因为方便,很多人用它来存放事务上下文、用户请求上下文、数据库连接或格式化器(SimpleDateFormat)等。但如果你不了解它的实现与陷阱(例如内存泄漏、与线程池配合问题),会埋下生产事故隐患。
佛祖让我来巡山6 个月前
thread·java多线程·threadlocal·java并发编程
Java并发编程基础:从线程管理到高并发应用实践本篇主要是多线程的基础知识,代码示例较多,有时间的可以逐个分析,具体细节都放在代码注释中了。在现代操作系统中,进程是资源分配的基本单位,而线程是CPU调度的最小单位。可以把进程想象成一家公司,线程就是公司里的员工。
佛祖让我来巡山9 个月前
线程安全·内存泄漏·threadlocal
【ThreadLocal全面解析】原理、使用与内存泄漏深度剖析在Java高并发编程中,线程安全是永恒的话题。ThreadLocal作为解决线程安全的利器之一,其精妙的设计思想值得我们深入探讨。本文将全面剖析ThreadLocal的实现原理、使用场景和内存泄漏问题,带您彻底掌握这一重要并发工具。