午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

Java對象不使用時賦值null的意義詳解

瀏覽:21日期:2022-09-04 15:56:34

先看代碼

public class TestDemo1 { public static void main(String[] args) { if (true) { byte[] placeHolder = new byte[64 * 1024 * 1024]; System.out.println(placeHolder.length / 1024); } System.gc(); }}

idea配置gc日志打印

Java對象不使用時賦值null的意義詳解

運行上面的代碼,載圖gc日志

Java對象不使用時賦值null的意義詳解

現(xiàn)在我們修改上面的測試代碼,將placeHolder置為null

public class TestDemo1 { public static void main(String[] args) { if (true) { byte[] placeHolder = new byte[64 * 1024 * 1024]; System.out.println(placeHolder.length / 1024); placeHolder = null; } System.gc(); }}

再次運行程序,查看gc日志

Java對象不使用時賦值null的意義詳解

由以上載圖日志可以明顯看到二者差別,所以不用對象置為null還是很有意義的。

為啥會造成二者的區(qū)別呢?

這還得從jvm認定垃圾的機制:可達性分析說起。

說起這個可達性,首先就得說到根,而“本地變量表”恰恰就可以看成是根。

上面兩段代碼本地變量表是不一樣的。

先看第一段代碼,就是placeHolder沒有置null的“本地變量表 ”

使用javap -v TestDemo1.class

Java對象不使用時賦值null的意義詳解

可以看到placeHolder還在本地變量表中,而且它占用slot槽1號位置, 所以jvm認為它還是活著的。

然后,我們再看placeHolder =null這段代碼的'本地變量表'的情況,其實它與上面一樣,看不出啥差別。

但是如果我們在placeHolder后面再聲明一個變量

public class TestDemo1 { public static void main(String[] args) { if (true) { byte[] placeHolder = new byte[64 * 1024 * 1024]; System.out.println(placeHolder.length / 1024); } String name = 'admin'; System.gc(); }}

Java對象不使用時賦值null的意義詳解

可以看到name這個變量名將slot槽1號位置占用了,是否可以說明placeHolder沒啥用了呢

而且這段代碼與placeHolder = null的gc日志完全一樣。那么應(yīng)該可以說明,我們聲明的這個String name = 'admin' 斷開了棧中placeHolder與堆中實例之間關(guān)系。

而placeHolder =null應(yīng)該也有這個功能。

總結(jié):代碼離開變量作用域時,并不會自動切斷其與堆的聯(lián)系。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲免费成人在线 | 永久中文字幕 | 直接看毛片 | 午夜影院久久 | 成人午夜在线 | 欧美视频在线一区 | 成人一区二区三区视频 | 战狼4在线高清免费观看 | 韩国黄色网址 | 就要操就要射 | 向井蓝在线观看 | 中文字幕av高清 | 亚洲福利天堂 | 国产jizz18女人高潮 | 国产9区| 日本丰满少妇黄大片在线观看 | 亚洲精品视频在线播放 | 91视频在线观看网站 | 在线观看视频中文字幕 | 三区四区在线观看 | 日韩欧美午夜 | 亚洲一区二区三区免费在线观看 | 欧美黄色性视频 | 蜜臀久久99精品久久久无需会员 | 亚洲精品卡一卡二 | 亚洲理论在线 | 国产视频一二三区 | 大地网资源在线观看免费高清 | 久草不卡 | 日韩av手机在线免费观看 | 亚色图 | 日韩av在线免费播放 | 久久天天综合 | 日韩精品免费视频 | 久久99国产精品 | 91免费黄| 日韩高清国产一区在线 | 亚洲视频黄 | 性色av网站| 亚洲色图视频在线 | 日韩欧美午夜 |