java四種鎖機(jī)制 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á)式的求值由于某種原因完全完成,那么synchronized語(yǔ)句complete也完全出于同樣的原因。否則,如果表達(dá)式的值為null,則拋出NullPointerException。遠(yuǎn)程標(biāo)準(zhǔn)教育為您解答:重入鎖是指同一個(gè)鎖可以在一個(gè)線(xiàn)程中多次獲得。例如,如果一個(gè)線(xiàn)程正在執(zhí)行一個(gè)帶有鎖的方法,而該方法調(diào)用另一個(gè)需要相同鎖的方法,那么該線(xiàn)程可以直接執(zhí)行調(diào)用方法而不必重新獲取鎖。更多專(zhuān)業(yè)科普知識(shí),請(qǐng)關(guān)注我。如果你喜歡我的回答,也請(qǐng)給我表?yè)P(yáng)或轉(zhuǎn)發(fā),你的鼓勵(lì)是支持我寫(xiě)下來(lái)的動(dòng)力,謝謝。