亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

既然 Java 的垃圾回收機制能夠自動的回收內存,怎么還會出現內存泄漏的情況呢

瀏覽:114日期:2024-01-28 17:59:07

問題描述

既然 Java 的垃圾回收機制能夠自動的回收內存,怎么還會出現內存泄漏的情況呢

問題解答

回答1:

內存資源是有限的,垃圾回收只回收“垃圾”,對于你的程序運行有用的對象不會被回收。

回答2:

內存溢出分兩種情況:一種是棧溢出,比如調用了一個無限遞歸。還有一種是堆溢出,即new 出來的對象沒有即使銷毀,比如一直new。

回答3:

因為有些寫的很蠢的程序會在GC機制生效之前無限地創建對象。

回答4:

一般來說,Java中的內存泄漏指的是已經不再被程序需要的已分配內存無法被回收。垃圾回收機制通過對象與Root對象的可達性判斷內存是否可以被回收,但由于編程錯誤或其他原因,導致過期的對象引用仍然被持有,垃圾回收器無法回收相關空間。

回答5:

占著茅坑不拉屎,他也沒辦法.推薦看下我同事寫的博客:http://blog.csdn.net/zhanggan...

回答6:

一些對象其實不需要了但卻一直被引用,沒辦法回收

回答7:

就目前來說,人做的東西還不能超越人本身,java的GC算法是人寫出來的,奈何就有人會作死寫出讓GC無法回收的代碼來

回答8:

這就如同中國那么大,為什么還有人在朝陽區懵逼一樣。

回答9:

我自己的理解,說的不對的地方歡迎指正。JDK6中,String的一個方法叫subString,這個是用來生成一個子字符串的。為了更加快速的生成,String有一個構造函數,String(int offset, int count, char value[]) {

this.value = value;this.offset = offset;this.count = count;

}直接指向了原來String的數組。我們都知道,每次都會生成一個新的常量池中的String字符串。然而這個引用就導致了原來的String無法被回收。因為subString的value會指向他。這里就會導致內存泄露。

JVM的確是自己進行GC的,不用程序員過多干涉,但是由于一些錯誤操作,導致一些本來不在需要使用的對象仍然有引用,才會導致內存泄露的。

回答10:

JVM:程序員抓著垃圾不放,我也很為難啊。

標簽: java
主站蜘蛛池模板: 路线1路线二线路三国产 | 欧美色图综合网 | 欧日韩视频777888 | 国产不卡在线观看视频 | 中文精品久久久久国产网址 | xxx毛片| 欧美在线黄 | 日本高清aⅴ毛片免费 | 国产一区二区三区在线视频 | 国产精品高清一区二区不卡 | 小黄鸭污视频 | 日本欧美大码aⅴ在线播放 日本欧美不卡一区二区三区在线 | 福利国产精品 | 国产精品合集一区二区 | 无人区二区三区地址 | 日本高清不卡一区久久精品 | 国产精品免费_区二区三区观看 | 91精品国产综合久久婷婷 | 国产免费福利视频一区二区 | 搡女人视频免费 | 啪视频在线 | 一级片在线免费播放 | 草逼视频免费观看 | 久久一区二区三区免费播放 | 国产专区日韩精品欧美色 | 免费国产不卡午夜福在线观看 | 中文字幕亚洲综合久久男男 | 欧美成人免费全部观看在线看 | 三级国产三级在线 | 久久不色| 久久亚洲伊人成综合人影院 | 1024cc香蕉在线观看免费 | 特级毛片aaaa免费观看 | 久久精品韩国日本国产 | 亚洲图色在线 | 国产最新凸凹视频免费 | 国产一级黄色毛片 | 国产精品伊人 | 亚洲黄色免费观看 | 91视频大全 | 黄网站免费视频 |