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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 2020年Java面試題大全及答案

2020年Java面試題大全及答案

更新時間:2020-03-04 12:34:03 來源:動力節點 瀏覽3197次


  1)Java中能創建volatile數組嗎?


  能,Java中可以創建volatile類型數組,不過只是一個指向數組的引用,而不是整個數組。我的意思是,如果改變引用指向的數組,將會受到volatile的保護,但是如果多個線程同時改變數組的元素,volatile標示符就不能起到之前的保護作用了。


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


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


  3)volatile修飾符的有過什么實踐?


  一種實踐是用volatile修飾long和double變量,使其能按原子類型來讀寫。double和long都是64位寬,因此對這兩種類型的讀是分為兩部分的,第一次讀取第一個32位,然后再讀剩下的32位,這個過程不是原子的,但Java中volatile型的long或double變量的讀寫是原子的。volatile修復符的另一個作用是提供內存屏障(memorybarrier),例如在分布式框架中的應用。簡單的說,就是當你寫一個volatile變量之前,Java內存模型會插入一個寫屏障(writebarrier),讀一個volatile變量之前,會插入一個讀屏障(readbarrier)。意思就是說,在你寫一個volatile域時,能保證任何線程都能看到你寫的值,同時,在寫之前,也能保證任何數值的更新對所有線程是可見的,因為內存屏障會將其他所有寫的值更新到緩存。


  4)volatile類型變量提供什么保證?


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


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


  從寫代碼的角度來說,兩者的復雜度是相同的,因為同步代碼與線程數量是相互獨立的。但是同步策略的選擇依賴于線程的數量,因為越多的線程意味著更大的競爭,所以你需要利用同步技術,如鎖分離,這要求更復雜的代碼和專業知識。


2020年Java面試題大全及答案


      以上就是動力節點Java培訓機構小編介紹的“2020年Java面試題大全及答案”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩二区| 欧美成人一级片 | 色噜噜狠狠一区二区三区 | 五月天天色 | 中文有码中文字幕免费视频 | a级在线观看免费 | 色永久| 爆操美女在线观看 | 亚洲综合站 | 午夜羞羞视频 | 日韩欧美无线在码 | 日韩亚洲人成在线综合日本 | 国产色爽免费视频 | yjizz国产在线视频网 | zljzlj日本妈妈| 欧美一区二区三区四区视频 | 成人免费网站久久久 | 97黄色网| 日韩a级毛片免费视频 | 成人区在线观看免费视频 | 久久精品视频一区二区三区 | 69xxⅹ色视频免费看 | 男女视频在线观看免费高清观看 | 亚洲国产成人久久一区www | 污视频网页 | 国产精品免费视频网站 | 亚洲日日做天天做日日谢 | 天天av天天翘天天综合网 | 色诱久久av | 日韩免费高清一级毛片在线 | 国产成人精品日本亚洲专一区 | 激情成人综合网 | 国产手机在线国内精品 | 爽爽爽爽爽爽爽太爽了免费观看 | 欧美二区在线观看 | 成年黄网站在线观看免费 | 婷婷色婷婷 | 看片一区 | 天天操天天爽天天射 | 日本免费三级网站 | 日本高清免费h色视频在线观看 |