黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 2020年常見(jiàn)的java底層面試題

2020年常見(jiàn)的java底層面試題

更新時(shí)間:2020-07-22 15:01:44 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2368次

1)Java中能創(chuàng)建volatile數(shù)組嗎?

能,Java中可以創(chuàng)建volatile類(lèi)型數(shù)組,不過(guò)只是一個(gè)指向數(shù)組的引用,而不是整個(gè)數(shù)組。我的意思是,如果改變引用指向的數(shù)組,將會(huì)受到volatile的保護(hù),但是如果多個(gè)線程同時(shí)改變數(shù)組的元素,volatile標(biāo)示符就不能起到之前的保護(hù)作用了。

2)volatile能使得一個(gè)非原子操作變成原子操作嗎?

一個(gè)典型的例子是在類(lèi)中有一個(gè)long類(lèi)型的成員變量。如果你知道該成員變量會(huì)被多個(gè)線程訪問(wèn),如計(jì)數(shù)器、價(jià)格等,你最好是將其設(shè)置為volatile。為什么?因?yàn)镴ava中讀取long類(lèi)型變量不是原子的,需要分成兩步,如果一個(gè)線程正在修改該long變量的值,另一個(gè)線程可能只能看到該值的一半(前32位)。但是對(duì)一個(gè)volatile型的long或double變量的讀寫(xiě)是原子。

3)volatile修飾符的有過(guò)什么實(shí)踐?

一種實(shí)踐是用volatile修飾long和double變量,使其能按原子類(lèi)型來(lái)讀寫(xiě)。double和long都是64位寬,因此對(duì)這兩種類(lèi)型的讀是分為兩部分的,第一次讀取第一個(gè)32位,然后再讀剩下的32位,這個(gè)過(guò)程不是原子的,但Java中volatile型的long或double變量的讀寫(xiě)是原子的。volatile修復(fù)符的另一個(gè)作用是提供內(nèi)存屏障(memory barrier),例如在分布式框架中的應(yīng)用。簡(jiǎn)單的說(shuō),就是當(dāng)你寫(xiě)一個(gè)volatile變量之前,Java內(nèi)存模型會(huì)插入一個(gè)寫(xiě)屏障(write barrier),讀一個(gè)volatile變量之前,會(huì)插入一個(gè)讀屏障(read barrier)。意思就是說(shuō),在你寫(xiě)一個(gè)volatile域時(shí),能保證任何線程都能看到你寫(xiě)的值,同時(shí),在寫(xiě)之前,也能保證任何數(shù)值的更新對(duì)所有線程是可見(jiàn)的,因?yàn)閮?nèi)存屏障會(huì)將其他所有寫(xiě)的值更新到緩存。

4)volatile類(lèi)型變量提供什么保證?

volatile變量提供順序和可見(jiàn)性保證,例如,JVM或者JIT為了獲得更好的性能會(huì)對(duì)語(yǔ)句重排序,但是volatile類(lèi)型變量即使在沒(méi)有同步塊的情況下賦值也不會(huì)與其他語(yǔ)句重排序。volatile提供happens-before的保證,確保一個(gè)線程的修改能對(duì)其他線程是可見(jiàn)的。某些情況下,volatile還能提供原子性,如讀64位數(shù)據(jù)類(lèi)型,像long和double都不是原子的,但volatile類(lèi)型的double和long就是原子的。

5)10個(gè)線程和2個(gè)線程的同步代碼,哪個(gè)更容易寫(xiě)?

從寫(xiě)代碼的角度來(lái)說(shuō),兩者的復(fù)雜度是相同的,因?yàn)橥酱a與線程數(shù)量是相互獨(dú)立的。但是同步策略的選擇依賴(lài)于線程的數(shù)量,因?yàn)樵蕉嗟木€程意味著更大的競(jìng)爭(zhēng),所以你需要利用同步技術(shù),如鎖分離,這要求更復(fù)雜的代碼和專(zhuān)業(yè)知識(shí)。

2020年常見(jiàn)的java底層面試題

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“2020年常見(jiàn)的java底層面試題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 手机看片久久 | 操亚洲美女| 久久精品无码一区二区日韩av | 国产黄色a | 成年人在线播放视频 | 香蕉蕉亚亚洲aav综合 | 国产卡一 | 日本亚洲免费 | 韩国伦理片在线 | 亚洲欧美日韩综合一区久久 | 在线观看国产剧情麻豆精品 | 99视频在线精品自拍 | 在线观看欧美亚洲 | 免费国产高清精品一区在线 | 久久91精品久久久久久水蜜桃 | 亚洲午夜一区 | 国产亚洲精品成人久久网站 | 国产日韩第一页 | 香蕉视频在线观看网站 | 韩日免费视频 | 成人欧美一区二区三区黑人免费 | 韩漫画无遮挡羞免费网站 | 天天爽天天干天天操 | 男人私人影院免费看视频 | 久在草 | 日韩三级一区二区 | 国产不卡一区二区三区免费视 | 亚洲欧美日韩在线中文一 | 欧美黄色一级在线 | 免费成人高清视频 | 高清免费毛片 | 黄色成人免费观看 | 国内精品久久久久久西瓜色吧 | 1024日本| 日本福利片在线观看 | 日产精品一二三四区国产 | 农村偷人一级超爽毛片 | 看黄在线| 国产日韩欧美视频 | 女性一级全黄生活片在线播放 | 亚洲欧洲日产国码在线观看 |