
JDK源码
文章平均质量分 82
JDK源码
chugyoyo
微信公众号:源码启示录
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从源码和测试多方面深度解读Java的String类对象的内存分布
网上关于String对象内存分配的知识的分享比较零散不一,String的==、intern函数,以及在JVM内存中String到底在哪里,这篇文章会进行分析。原创 2022-06-15 18:36:53 · 388 阅读 · 0 评论 -
Java线程池 - ThreadLocal底层原理与内存泄漏OOM(建议收藏=官方文档+源码+复现+可视化分析+解决方案+实验)
本文深入剖析Java中ThreadLocal的内存泄漏问题及其解决方案。通过解析JDK8源码,揭示ThreadLocalMap采用弱引用键,导致键回收后,值仍被强引用滞留的底层缺陷,结合线程池场景演示OOM现象,及MAT工具分析残留Entry。文章提出三大实战方案:规范使用remove()清理、采用Netty的FastThreadLocal自动回收机制,以及WeakReference防御策略,并通过代码复现对比验证效果。原创 2025-04-24 17:12:58 · 532 阅读 · 0 评论 -
java数组ArrayList迭代修改的ConcurrentModificationException错误
java数组集合进行迭代修改时,不用迭代器内部方法容易报错!原创 2024-06-13 22:12:01 · 331 阅读 · 0 评论 -
Java线程池 - 深入解析ThreadPoolExecutor的底层原理(源码全面讲解一篇就够)
一阶段,可以优先用工作线程,这样处理的任务,直接用工作线程执行,工作线程本身存在,无需创建和销毁线程。二阶段,是超出工作线程数,可以用工作队列缓冲,后面还是工作线程处理,无需创建和销毁线程,只不过需要等待时间去消费。三阶段,是任务总量已经超出工作线程 + 队列容量 的总和,这时候在配置的最大线程数下去开启更多线程去压榨性能,超出部分的任务只能拒绝。原创 2025-04-18 23:02:04 · 793 阅读 · 0 评论