64.ThreadLocal造成的內存泄漏

內存泄漏

程序中已動態分配的堆內存,由于某種原因程序為釋放和無法釋放,造成系統內存的浪費,導致程序運行速度減慢甚至系統崩潰等嚴重后果。內存泄漏的堆積終將導致內存溢出

內存溢出

沒有足夠的內存提供申請者使用。

ThreadLocal出現內存泄漏的真實原因

內存泄漏的發生跟ThreadLocalMap中的key是否使用弱引用是沒有關系的。

內存泄漏發生的真正原因是:

1.沒有手動刪除這個Entry。只要在使用完ThreadLocal,調用其remove方法刪除對應的Entry,就能避免內存泄漏。

2.CurrentThread依然運行。由于ThreadLocalMap是Thread的一個屬性,被當前線程所引用,所以它的生命周期跟Thread一樣長。那么在使用完ThreadLocal的使用,如果當前Thread也隨之執行結束,ThreadLocalMap自然也會被gc回收,從根源上避免了內存泄漏。

綜上:ThreadLocal內存泄漏的根源是,由于ThreadLocalMap的生命周期跟Thread一樣長,如果沒有手動刪除對應key就會導致內存泄漏。

避免內存泄漏有兩種辦法

1.使用完ThreadLocal,調用其remove方法刪除對應的Entry。

2.使用完ThreadLocal,當前Thread也隨之運行結束。

相對于第一種方式,第二種方式顯然更不好控制,特別是使用線程池的時候,線程結束時不會銷毀的。

所以,

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38765.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38765.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38765.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java中的多線程與并發編程詳解

Java中的多線程與并發編程詳解 大家好,我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! 在當今軟件開發中,利用多核處理器的能力并行執行任務已成為提高應用…

Transformer拆積木

文章目錄 ConceptsEmbeddingEncoderDecoderSelf-Attention matric calculationFinal Linear and Softmax LayerLoss function 參考 學一下已經問鼎中原七年之久的Transformer Concepts 開始拆積木! Embedding Encoder Decoder Self-Attention matric calculati…

【文檔+源碼+調試講解】科研經費管理系統

目 錄 目 錄 摘 要 ABSTRACT 1 緒論 1.1 課題背景 1.2 研究現狀 1.3 研究內容 2 系統開發環境 2.1 vue技術 2.2 JAVA技術 2.3 MYSQL數據庫 2.4 B/S結構 2.5 SSM框架技術 3 系統分析 3.1 可行性分析 3.1.1 技術可行性 3.1.2 操作可行性 3.1.3 經濟可行性 3.1…

解析服務器地址異常的原因和解決方法

在網絡利用開發和運維進程中,解析服務器地址異常是常見的問題之一。特別是在觸及到跨境業務和國際網絡傳輸時,由于網絡環境的復雜性,解析服務器地址異常可能會致使用戶沒法正常訪問網站或利用程序。 解析服務器地址異常可能由多種緣由引發&am…

虛擬機的網絡配置

📑打牌 : da pai ge的個人主頁 🌤?個人專欄 : da pai ge的博客專欄 ?? 每一步都向著夢想靠近,堅持就是勝利的序曲 一 …

手機系統設置選項

通用設置選項 1. 忽略電池優化選項 參考 https://blog.csdn.net/dodod2012/article/details/132045963 <uses-permission android:name"android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>public static boolean isIgnoreBatteryOption(Context c…

俄羅斯ozon運費計算工具,跨境電商ozon物流運費計算工具

OZON平臺服裝類目賣家而言&#xff0c;如何快速、準確地為產品定價&#xff0c;并有效管理運費成本&#xff0c;直接關系到市場競爭力與利潤空間。接下來我們看看俄羅斯ozon運費計算工具&#xff0c;跨境電商ozon物流運費計算工具。 萌啦Ozon定價工具&#xff1a;智能模擬&…

Cesium----加載SuperMap的S3M地形

在原生Cesium中加載S3M地形&#xff0c;需要用到Supermap發布的一個插件&#xff1a;iClient3D-for-WebGL&#xff0c; 在vite vure3&#xff0c;cesium 1.119中進行了實現&#xff0c;注意的點在于需要把SuperMap3D 放置在cesium的Build路徑下 然后在代碼中直接調用SuperMap3…

windows重裝系統

一、下載Ventoy工具&#xff0c;制作啟動盤 官網地址&#xff1a;https://www.ventoy.net/cn/download.html 電腦插入用來制作系統盤的U盤&#xff0c;建議大小在8G以上。 雙擊打開剛解壓出來的Ventoy2Disk.exe文件。打開界面如圖&#xff1a; 確認U盤&#xff0c;如圖&am…

【HICE】基于httpd下的web服務器搭建

1.下載httpd&#xff1a; dnf install httpd -y 2.進入httpd中&#xff1a; cd /etc/httpd cd conf.d 3.編輯一個新的vhost.conf 4.重啟httpd服務 systemctl restart httpd 5.關閉防火墻 systemctl stop firewalld setenforce 0 6.文本寫入&#xff08;網頁編輯&…

8年經驗之談!自動化測試框架該如何搭建?

前言 最近好多小伙伴都在說接口自動化測試&#xff0c;那么究竟什么是接口自動化測試呢&#xff1f;讓我們一起往下看就知道了&#xff0c;首先我們得先弄清楚下面這個問題。 為什么要做&#xff08;自動化&#xff09;接口測試&#xff1f; 1、由于現在各個系統的復雜度不斷…

springboot的MultipartFile轉File讀取

在Spring Boot中&#xff0c;處理文件上傳時&#xff0c;MultipartFile接口被用來封裝上傳的文件信息。 如果需要將MultipartFile轉換為Java標準的File對象進行讀取。 以下是具體的操作流程&#xff1a; 1. 創建臨時文件 首先&#xff0c;需要將接收到的MultipartFile對象轉…

準化 | 水系統碳中和標準體系初見成效

2024年5月31日&#xff0c;中華環保聯合會發布《團體標準公告 2024年第10號&#xff08;總第78號&#xff09;》&#xff0c;批準發布了由中華環保聯合會提出并歸口的《廢水處理溫室氣體監測技術規程》(T/ACEF 142-2024)、《工業水系統碳排放核算方法與報告指南》(T/ACEF143-20…

yarn不同操作系統的安裝與配置

Yarn 是一個快速、可靠且安全的依賴包管理工具&#xff0c;用于替代 npm。以下是在不同操作系統上安裝和配置 Yarn 的步驟。 1. 安裝 Node.js 在安裝 Yarn 之前&#xff0c;請確保已經安裝了 Node.js&#xff0c;因為 Yarn 需要 Node.js 環境。你可以在 Node.js — Run JavaSc…

昇思25天學習打卡營第十五天|基于MobileNetv2的垃圾分類

基于MobileNetv2的垃圾分類 MobileNetv2模型原理介紹 MobileNet網絡是由Google團隊于2017年提出的專注于移動端、嵌入式或IoT設備的輕量級CNN網絡&#xff0c;相比于傳統的卷積神經網絡&#xff0c;MobileNet網絡使用深度可分離卷積&#xff08;Depthwise Separable Convolut…

Zabbix 6.0 案例

自定義監控內容 案列&#xff1a;自定義監控客戶端服務器登錄的人數 需求&#xff1a;限制登錄人數不超過 3 個&#xff0c;超過 3 個就發出報警信息 1.在客戶端創建自定義 key 明確需要執行的 linux 命令 who | wc -l 2.在被監控主機的配置文件目錄中&#xff08;/etc/za…

港大推出XRec:「會說話」的推薦系統大模型, 從黑盒預測到可解釋

代碼鏈接: https://github.com/HKUDS/XRec 論文鏈接: https://arxiv.org/pdf/2406.02377 實驗室鏈接: https://sites.google.com/view/chaoh 最近,香港大學數據智能實驗室推出了一款名為 XRec 的全新智能大模型,旨在為傳統推薦系統注入可解釋性的新動力。XRec 利用大語言模型…

PyTorch入門筆記

學習參考&#xff1a; PyTorch簡單入門視頻 深入淺出PyTorch 小土堆筆記 前置知識 AI vs ML vs DL AI&#xff08;Artificial Intelligence&#xff09;&#xff1a;通過讓機器模仿人類進而超越人類ML&#xff08;Machine Learning&#xff09;&#xff1a;讓機器模仿人類的一…

【AI原理解析】—支持向量機原理

目錄 1. 支持向量機&#xff08;SVM&#xff09;概述 2. 超平面與支持向量 3. 間隔最大化 4. 優化問題 5. 核函數 6. 總結 1. 支持向量機&#xff08;SVM&#xff09;概述 定義&#xff1a;支持向量機是一種監督學習模型&#xff0c;主要用于數據分類問題。其基本思想是…

【C++】const詳解

&#x1f4e2;博客主頁&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01; &#x1f4e2;本文作為 JohnKi &#xff0c;引用了部分大佬的案例 &#x1f4e2;未來很長&#xff0c;…