卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java內(nèi)存分配 Java對(duì)象使用后設(shè)置為null會(huì)減少內(nèi)存占用嗎?

Java對(duì)象使用后設(shè)置為null會(huì)減少內(nèi)存占用嗎?首先科普一下,Java對(duì)象是引用變型的,它會(huì)用兩種內(nèi)存區(qū):堆內(nèi)存、棧內(nèi)存。Java對(duì)象是存儲(chǔ)在堆內(nèi)存中的,而對(duì)此對(duì)象的引用(理解為變量)存儲(chǔ)在棧內(nèi)存中

Java對(duì)象使用后設(shè)置為null會(huì)減少內(nèi)存占用嗎?

首先科普一下,Java對(duì)象是引用變型的,它會(huì)用兩種內(nèi)存區(qū):堆內(nèi)存、棧內(nèi)存。Java對(duì)象是存儲(chǔ)在堆內(nèi)存中的,而對(duì)此對(duì)象的引用(理解為變量)存儲(chǔ)在棧內(nèi)存中。

比如:String str=new String("字符串") 這行代碼用的是兩塊內(nèi)存,new String("字符串") 存在堆內(nèi)存中,str 變量存儲(chǔ)在棧內(nèi)存中。

當(dāng)我們?cè)O(shè)置對(duì)象為 null 后(即:str=null),此時(shí)str變量與堆內(nèi)存中的數(shù)據(jù)就斷開聯(lián)系了,GC算法會(huì)在必要時(shí)回收 str 及堆內(nèi)存中的對(duì)象,但這個(gè)GC任何回收我們是無法干預(yù)的。

總結(jié)說就是:Java對(duì)象在使用后設(shè)置為null,在GC對(duì)此對(duì)象回收后,內(nèi)存會(huì)相應(yīng)減少,但不是說將一個(gè)對(duì)象引用設(shè)置為null后內(nèi)存就立馬釋放了。GC會(huì)在合適的時(shí)間來回收垃圾數(shù)據(jù)。