歡迎關註公眾號:bin的技術小屋,本文圖片載入不出來的話可查看公眾號原文 本系列Netty源碼解析文章基於 4.1.56.Final版本 寫在前面..... 本文是筆者肉眼盯 Bug 系列的第三彈,前兩彈分別是: 抓到Netty一個Bug,順帶來透徹地聊一下Netty是如何高效接收網路連接的 ,在這 ...
轉自:
http://www.java265.com/JavaCourse/202204/2834.html
下文筆者將講述Java中記憶體泄漏的相關簡介說明,如下所示:
Java中記憶體泄漏的簡介
當應用程式不在使用對象時,應該對其回收 但是有些對象任然被引用,則垃圾回收器無法將其回收,當這些未使用,但有無法回收的對象越來越多時,就會產生記憶體泄漏
記憶體泄漏的原因
記憶體泄漏,可以毫不誇張的說,就是不良編程導致的異常現象,常見的記憶體泄漏原因,有以下幾種
大量使用靜態變數 在靜態類中,可以使用類成員而不啟動類 因此,在使用static時,在創建類實例之前,將在JVM中創建其類的對象 因此,此類靜態變數將在程式執行期間保留在記憶體中,不符合垃圾回收的條件 未關閉的流/連接 此種方式將導致底層資源泄漏和記憶體泄漏 底層資源泄漏一般是由操作系統級資源的泄漏 JVM使用記憶體來跟蹤這些基礎資源,從而導致記憶體泄漏。