新聞中心
這篇文章主要講解了“java線程相關(guān)知識點(diǎn)有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“java線程相關(guān)知識點(diǎn)有哪些”吧!
站在用戶的角度思考問題,與客戶深入溝通,找到謝家集網(wǎng)站設(shè)計(jì)與謝家集網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋謝家集地區(qū)。
cas compare and swap(exchange):
讀取當(dāng)前值
計(jì)算結(jié)果值
比較當(dāng)前值和內(nèi)存值
更新新值
ABA問題,增加額外字段
底層原語 lock(硬件鎖信號) cmpxchg
java對象內(nèi)存布局
對象頭(markword ,class point,在64位系統(tǒng)上jvm開啟壓縮為4字節(jié),不開啟為8字節(jié)),(數(shù)組長度-4字節(jié)) 實(shí)例數(shù)據(jù),對齊(按系統(tǒng)總線位數(shù)補(bǔ)齊提高效率),見下圖 
鎖升(降)級過程
new->偏向鎖->輕量級鎖(無鎖,自旋鎖,自適應(yīng)自旋鎖)->重量級鎖
偏向鎖(默認(rèn)延遲4秒加)->在對象的markword中添加指向鎖對象的指針
輕量級鎖->競爭線程用cas的方式競爭指向鎖對象
重量級鎖->用戶態(tài)向內(nèi)核態(tài)申請系統(tǒng)鎖,申請到以后其他競爭線程全部處于隊(duì)列狀態(tài)(降低資源消耗)
鎖降級:一般發(fā)生在gc的情況下,所以這時(shí)候降級失去意義
鎖消除:引用不會(huì)被其他線程調(diào)用時(shí),隱性消除內(nèi)部鎖
鎖粗化:對一組對象相同的操作,值加鎖最外層操作(如 while(i<100) {...})
超線程:一組ALU,2組registers+pc
代碼層:synchronized
源碼monitorenter monitorexit
鎖升級
lock cmpxchg
緩存行對齊
在程序讀取數(shù)據(jù)的時(shí)候是按塊來讀取提高效率(64字節(jié),根據(jù)cpu)
CPU 1,2級緩存屬于核,3級緩存共享
volatile關(guān)鍵字作用
線程可見性
禁止代碼重排,如下描述
內(nèi)存屏障 保證語句順序執(zhí)行,最底層依然是lock
寫寫屏障 volatile 寫操作 寫讀屏障
讀讀屏障 volatile 讀操作 讀寫屏障
強(qiáng)軟弱虛引用
強(qiáng)引用: Object o = new Object();
軟引用: SoftReference
弱引用: WeakReference
虛引用: PhantomReference
感謝各位的閱讀,以上就是“java線程相關(guān)知識點(diǎn)有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對java線程相關(guān)知識點(diǎn)有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站標(biāo)題:java線程相關(guān)知識點(diǎn)有哪些
網(wǎng)站URL:http://www.dlmjj.cn/article/godipd.html


咨詢
建站咨詢
