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

java中的類(lèi) java synchronized鎖對(duì)象,當(dāng)對(duì)象引用是null的時(shí)候,鎖的是什么?

java synchronized鎖對(duì)象,當(dāng)對(duì)象引用是null的時(shí)候,鎖的是什么?謝謝!Java語(yǔ)言規(guī)范明確指出,如果鎖定的對(duì)象為null,則會(huì)發(fā)生NullPointerException。規(guī)范的內(nèi)容

java synchronized鎖對(duì)象,當(dāng)對(duì)象引用是null的時(shí)候,鎖的是什么?

謝謝

!Java語(yǔ)言規(guī)范明確指出,如果鎖定的對(duì)象為null,則會(huì)發(fā)生NullPointerException。規(guī)范的內(nèi)容如下:

表達(dá)式的類(lèi)型必須是引用類(lèi)型,否則會(huì)發(fā)生完全時(shí)間錯(cuò)誤。首先計(jì)算表達(dá)式,執(zhí)行同步語(yǔ)句。然后:如果表達(dá)式的求值由于某種原因完全完成,否則,如果表達(dá)式的值為null,則拋出NullPointerException。

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

首先,Java對(duì)象是引用變量,它使用兩種內(nèi)存區(qū)域:堆內(nèi)存和堆棧內(nèi)存。Java對(duì)象存儲(chǔ)在堆內(nèi)存中,對(duì)它們的引用(理解為變量)存儲(chǔ)在堆棧內(nèi)存中。

例如,string STR=new string(“string”)使用兩段內(nèi)存,new string(“string”)存儲(chǔ)在堆內(nèi)存中,STR變量存儲(chǔ)在堆棧內(nèi)存中。

當(dāng)我們將對(duì)象設(shè)置為null(即:STR=null)時(shí),STR變量與堆內(nèi)存中的數(shù)據(jù)斷開(kāi)連接。GC算法會(huì)在必要時(shí)回收STR和堆內(nèi)存中的對(duì)象,但是我們不能干預(yù)GC的任何回收。

.GC將在正確的時(shí)間回收垃圾數(shù)據(jù)。

Java什么時(shí)候?qū)?duì)象賦值null?

Java類(lèi)型分為基本類(lèi)型和引用類(lèi)型

int/char/long等基本類(lèi)型有默認(rèn)值,

int 0

long 0l

類(lèi)成員變量。沒(méi)有默認(rèn)值。默認(rèn)值為null

class person{

string name//name。默認(rèn)值為空。使用時(shí)分配

string Guojia=“China”//國(guó)家默認(rèn)為中國(guó)

}