ThreadLocal是线程安全的吗?底层原理是什么?会存在内存泄露吗?

news/2024/11/8 1:27:33/

一、弱引用

        只要垃圾回收机制一运行,不管 JVM 内存空间是否充足,都会回收该对象占用的内存。

二、ThreadLocal底层原理

        ThreadLocal为共享变量在每个线程中创建一个副本,每个线程都可以访问自己内部的副本变量。通过threadlocal 保证线程的安全性。在 ThreadLocal 类中有一个静态内部类 ThreadLocalMap(其类似于 Map),用键值对的形式存储每一个线程的变量副本,ThreadLocalMap 中元素的 key 为当前ThreadLocal 对象,而 value 对应线程的变量副本。ThreadLocal 本身并不存储值,它只是作为一个 key 保存到 ThreadLocalMap中,但是这里要注意的是它作为一个 key 用的是弱引用,因为没有强引用链,弱引用在 GC的时候可能会被回收

这样就会在 ThreadLocalMap 中存在一些key为null的键值对(Entry)。因为 key 变成 null 了,我们是没法访问这些 Entry 的,但是这些 Entry 本身是不会被清除的。如果没有手动删除对应 key 就会导致这块内存即不会回收也无法访问,也就是内存泄漏。使用完 ThreadLocal之后,记得调用 remove方法。

       注意: 在不使用线程池的前提下,即使不调用 remove 方法,内存也不会泄露。因为是ThreadLocal是弱引用,线程的"变量副本"也会被gc回收,即不会造成内存泄漏的情况。


http://www.ppmy.cn/news/85241.html

相关文章

【Python开发】FastAPI 01:hello world

FastAPI 是一个轻量级的后端框架,对于定制化不高或者功能简单的业务完全可以拿他作为后台。 FastAPI 一个比较重要的特性就是异步,简单来说就是相比 django 和 flask 快,FastAPI 和 flask 的语法类似。本篇文章介绍 FastAPI 运用的简单实例&a…

建设一站式DevOps平台,腾讯云研发效能提升实践

本文作者:张渝 导语 | 近年来,研发效能提升越来越受到业界重视,许多厂商都在不断探索研发效能提升之路,从而实现研发效率和质量的持续优化,以应对日趋复杂的产品开发。那么腾讯云的研发效能相关工作是如何开展和落地的…

【Python json】零基础也能轻松掌握的学习路线与参考资料

Python中的JSON模块主要用于将Python对象序列化成JSON数据或解析包含JSON数据的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。由于JSON在Web应用中的广泛使用…

EMC磁珠滤波的原理以及如何使用呢?

在产品数字电路EMC设计过程中,我们常常会使用到磁珠,那么磁珠滤波的原理以及如何使用呢? 铁氧体材料是铁镁合金或铁镍合金,这种材料具有很高的导磁率,他可以是电感的线圈绕组之间在高频高阻的情况下产生的电容最小。…

第五章matlab的自定义函数

在第三章中,我们强调了好的编程习惯的重要性。我们进行开发的基本手段是自上而 下的编程方法。在自上而下的编程方法中,它开始于对所要解决问题的精确陈述和定义输 入量和输出量。下一步,我们在大面上进行算法的描述,然后把算法分解成一个一个的子 问题。再然后,程序员把这…

Linux第一节

linux用的分区格式是 XFS EXT4 nmtui //网络使用文字显示的命令 //进去后修改IP信息 常用SSH管理工具 PC端: Mobaxterm、PuttyWinSCP、XshellXftp、SecureCRT等手机端:iTerminal、华为云APP、阿里云APP等 LINUX中补全命令,按两次tab键 在登录界面,al…

实用网站大全

网站集合一览 键入 cn typing-cn (gitee.io) 一、充能网站 1、Oeasy http://oeasy.org/ 完全免费。良心实用。 它提供的视频教程非常丰富并且质量很高,包括:PS 教程、手机摄影教程、Ai 做图教程、Excel 教程、Word 教程、PPT 教程、Pr 视频剪辑教程、A…

stable-diffusion-webui服务器centos部署实践(成功)

之前关注stable-diffusion仅仅是因为stable-diffusion模型,但实践证明,stable-diffusion如果么有那么好的提示词功力,恐怕生成的图就是“畸形的,缺胳膊少腿的,多一块,少一块的”,如V1实践,V2实践,纸糊效果。 如果做不到其他人那样“美女自给自足”,那么我这个“大佬…