五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一文帶你真正了解偏向鎖

2022-07-11 13:47 作者:吃菠菜的太守  | 我要投稿

談到 java的關(guān)鍵字synchronized,幾乎必談偏向鎖,因?yàn)樵嫉膕ynchronized,,大有殺雞用牛刀的架勢(shì)。在并發(fā)程度不高的情況下,經(jīng)常被詬病性能不佳。

因此,在juc大行其道之際,jdk開(kāi)發(fā)者也深感臉上掛不住,終于在jdk9引入了偏向鎖,并下放到j(luò)dk8u。但可惜,迄今為止,市面上對(duì)于偏向鎖原理,難以找到一個(gè)詳細(xì)的解讀,大部分文章也都是抄來(lái)抄去,讓人有些疑惑始終不得其解。

1.什么情況下會(huì)有偏向鎖?

2.偏向鎖和synchronized其他階段如何結(jié)合?

3.偏向鎖為什么會(huì)提高低并發(fā)下的效率?

4.偏向鎖會(huì)撤銷嗎?

當(dāng)然,第三問(wèn),現(xiàn)在就可以給出答案,因?yàn)槲覀冊(cè)趯懘a時(shí),盡管用到了synchronized關(guān)鍵字,但只是為了保證代碼的并發(fā)安全,并不是說(shuō)這里一定就會(huì)并發(fā)。對(duì)于大多數(shù)代碼而言,同一時(shí)刻實(shí)際只會(huì)有一個(gè)線程在執(zhí)行,這種時(shí)候不應(yīng)當(dāng)直接使用代價(jià)高的同步模式,而是先嘗試做個(gè)標(biāo)記,當(dāng)真正發(fā)生競(jìng)爭(zhēng)時(shí)再考慮同步,至于其他問(wèn)題,可以看本文。

本文旨在直觀展示各種場(chǎng)景下,偏向鎖是否會(huì)生成,又是否會(huì)撤銷。關(guān)于重偏向,批量撤銷等進(jìn)階內(nèi)容,會(huì)在synchronized鎖粗化的內(nèi)容中講解。

本文引用了jol包來(lái)輸出對(duì)象頭的二進(jìn)制情況

關(guān)于對(duì)象頭,還需要以下知識(shí),在64位的虛擬機(jī)下,對(duì)象頭有以下幾種狀態(tài),需要注意的是,當(dāng)對(duì)象生成時(shí),其處于匿名偏向狀態(tài)(與偏向狀態(tài)一樣,但線程位置為空)或無(wú)鎖狀態(tài),這取決于你是否開(kāi)啟了偏向鎖參數(shù)-XX:+UseBiasedLocking(jdk8u默認(rèn)開(kāi)啟),這兩種狀態(tài)是一個(gè)對(duì)象頭的初始狀態(tài)。一個(gè)容易混淆的地方是,無(wú)鎖狀態(tài)是無(wú)法升級(jí)到偏向鎖的,無(wú)鎖只能升級(jí)為輕量級(jí)鎖。只有初始狀態(tài)為匿名偏向的,才能升級(jí)至偏向鎖。

不同狀態(tài)下的對(duì)象頭



一文帶你真正了解偏向鎖的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
九龙坡区| 山东| 哈巴河县| 黄梅县| 嘉善县| 大方县| 南乐县| 工布江达县| 孝感市| 金坛市| 乌兰浩特市| 瑞昌市| 舟曲县| 准格尔旗| 福泉市| 松原市| 巴南区| 万安县| 永福县| 景洪市| 馆陶县| 大连市| 北海市| 永宁县| 浦城县| 浠水县| 阿瓦提县| 陇南市| 海淀区| 姜堰市| 密云县| 石泉县| 河西区| 玉山县| 达孜县| 泰来县| 渭南市| 突泉县| 南涧| 扎鲁特旗| 修文县|