最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
天气| 白水县| 长武县| 台江县| 宣威市| 旺苍县| 新乡市| 都安| 沈阳市| 连山| 云林县| 额济纳旗| 裕民县| 朝阳区| 思茅市| 鹤峰县| 赫章县| 南丰县| 高唐县| 汝阳县| 彭泽县| 诸暨市| 盘锦市| 永福县| 河池市| 汉川市| 缙云县| 吉林市| 邻水| 磐石市| 土默特右旗| 建平县| 贵港市| 大田县| 巴林左旗| 龙州县| 长岭县| 祁东县| 江山市| 富川| 米林县|