Java三大字符串详解:String、StringBuffer、StringBuilder区别
在Java开发中,字符串操作是日常编码使用率100%的基础功能,不管是接口参数处理、数据拼接、文本解析,都离不开String、StringBuffer、StringBuilder这三个类。
用得不多但值得学的Java读写锁
ReentrantReadWriteLock,中文叫读写锁。这个名字,你在业务代码里可能好几年都碰不到一次。但是一些开源框架,比如RocketMQ、Kafka、Elasticsearch还是有用到读写锁的。用得少,不是因为它不好用,是它能发挥作用的场景比较挑剔。
ThreadLocal 的 key 是弱引用,为什么还会内存泄漏?
一、ThreadLocal是什么ThreadLocal 提供线程局部变量,每个 Thread 拥有自己独立的变量副本,线程之间隔离。ThreadLocal tl = new ThreadLocal();// 主线程设置value:Atl.
告别ThreadLocal内存泄漏!Java 26 Scoped Values使并发编程更安全
“把这个扔进ThreadLocal就行了。”这句话你肯定说过。过去十多年,ThreadLocal确实是Java传递上下文的首选方案——用户信息、事务ID、TraceId,统统往里塞,方法签名干净了,代码也清爽了。但时代变了。虚拟线程普及后,ThreadLocal成了性能杀手。
Java 虚拟线程到底是什么?为什么它能提升高并发能力?
《Java 技术进化论》专栏 · 第三篇如果你是一名 Java 开发人员,一定对线程池非常熟悉。
ThreadLocal 父子线程值传递
字数 1363,阅读大约需 7 分钟1. 问题描述ThreadLocal 默认不支持父子线程之间的值传递:ThreadLocal tl = new ThreadLocal();tl.
线程池里的“幽灵数据”为什么下个请求还能看到?
环境:JDK 17.0.12,Windows 11。文中的线程池实验只使用 JDK 标准库,已经在本机编译运行。快速认识一个请求进来时,拦截器把当前用户写进 ThreadLocal。请求结束后没有清理。
Java ThreadLocal 详解:从线程隔离到线程池实战
简介ThreadLocal 直译是“线程本地变量”。它的特点不是让多个线程共享同一个变量,而是让每个线程都保存一份自己的变量。可以把它理解成一组按线程分开的储物柜:柜子的编号由 ThreadLocal 对象决定,柜子属于当前线程。