內存泄露是指無用對象(不再使用的對象)持續佔有內存
無用對象的內存得不到及時釋放
容易發生內存泄漏的場景
1. 靜態集合類引起內存泄露,像HashMap這些靜態變量的生命週期和應用程序一致,他們所引用的所有的對象Object也不能被釋放,因爲他們也將一直被Vector等引用着。
2. 當集合裏面的對象屬性被修改後,再調用remove()方法時不起作用。當remove不掉set中的對象時,set會長時間持有無用的對象,導致內存泄漏。
單例模式
3. 不正確使用單例模式是引起內存泄露的一個常見問題,單例對象在被初始化後將在JVM的整個生命週期中存在(以靜態變量的方式),如果單例對象持有外部對象的引用,那麼這個外部對象將不能被jvm正常回收。
java內存泄漏易發場景
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
mybatis開啓MapperScannerConfigurer導致properties不生效
原創
2024-02-07 13:55:41
Java字符串的一些理解
原創
2023-10-31 09:11:32
(二)java版spring boot 社交電子商務平臺-security簡單使用
原創
2023-10-10 11:05:06
(三)java版spring cloud+spring boot+redis多租戶社交電子商務平臺-Spring Cloud實戰隨機端口
原創
2023-10-10 11:05:04
如何使用 Java 反射?反射的用法及案例
原創
2023-10-10 02:23:57
最新美團面試集合(一面+二面+三面+重點技術面試題)附面試解析
原創
2023-10-10 01:43:49
Java程序員不想被裁員困擾,應該怎樣築基、發展才能越走越遠?
原創
2023-10-10 01:43:34
阿里巴巴Java開發手冊 梳理筆記 - finally 塊必須對資源對象、流對象進行關閉
原創
2023-08-02 10:29:06
java併發-CAS的理解
原創
2023-05-29 01:40:21
java併發-Timer類的使用和原理
原創
2023-03-28 01:52:22
java併發-ReadWriteLock代碼理解
原創
2023-03-28 01:52:20
java併發-synchronized關鍵字
原創
2023-03-28 01:52:18
java併發-AQS總結-原理
原創
2023-03-28 01:52:16
java併發-緩存一致性協議和內存屏障的思考和理解
原創
2023-03-28 01:52:14