大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

2020年經(jīng)典java初級(jí)面試題總結(jié)

更新時(shí)間:2020-04-15 15:05:25 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3345次

  一、關(guān)于volatile關(guān)鍵字

  1、可以創(chuàng)建Volatile數(shù)組嗎?

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

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

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

  一種實(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àn)程都能看到你寫(xiě)的值,同時(shí),在寫(xiě)之前,也能保證任何數(shù)值的更新對(duì)所有線(xiàn)程是可見(jiàn)的,因?yàn)閮?nèi)存屏障會(huì)將其他所有寫(xiě)的值更新到緩存。

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

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

  二、關(guān)于集合

  1、Java中的集合及其繼承關(guān)系

  關(guān)于集合的體系是每個(gè)人都應(yīng)該爛熟于心的,尤其是對(duì)我們經(jīng)常使用的List,Map的原理更該如此.

  2、poll()方法和remove()方法區(qū)別?

  poll() 和 remove() 都是從隊(duì)列中取出一個(gè)元素,但是 poll() 在獲取元素失敗的時(shí)候會(huì)返回空,但是 remove() 失敗的時(shí)候會(huì)拋出異常。

  3、LinkedHashMap和PriorityQueue的區(qū)別

  PriorityQueue 是一個(gè)優(yōu)先級(jí)隊(duì)列,保證最高或者最低優(yōu)先級(jí)的的元素總是在隊(duì)列頭部,但是 LinkedHashMap 維持的順序是元素插入的順序。當(dāng)遍歷一個(gè) PriorityQueue 時(shí),沒(méi)有任何順序保證,但是 LinkedHashMap 課保證遍歷順序是元素插入的順序。

  4、WeakHashMap與HashMap的區(qū)別是什么?

  WeakHashMap 的工作與正常的 HashMap 類(lèi)似,但是使用弱引用作為 key,意思就是當(dāng) key 對(duì)象沒(méi)有任何引用時(shí),key/value 將會(huì)被回收。

  5、ArrayList和LinkedList的區(qū)別?

  最明顯的區(qū)別是 ArrrayList底層的數(shù)據(jù)結(jié)構(gòu)是數(shù)組,支持隨機(jī)訪(fǎng)問(wèn),而 LinkedList 的底層數(shù)據(jù)結(jié)構(gòu)是雙向循環(huán)鏈表,不支持隨機(jī)訪(fǎng)問(wèn)。使用下標(biāo)訪(fǎng)問(wèn)一個(gè)元素,ArrayList 的時(shí)間復(fù)雜度是 O(1),而 LinkedList 是 O(n)。

  6、ArrayList和Array有什么區(qū)別?

  Array可以容納基本類(lèi)型和對(duì)象,而ArrayList只能容納對(duì)象。

  Array是指定大小的,而ArrayList大小是固定的

  7、ArrayList和HashMap默認(rèn)大小?

  在 Java 7 中,ArrayList 的默認(rèn)大小是 10 個(gè)元素,HashMap 的默認(rèn)大小是16個(gè)元素(必須是2的冪)。這就是 Java 7 中 ArrayList 和 HashMap 類(lèi)的代碼片段。

  private static final int DEFAULT_CAPACITY = 10; //from HashMap.java

  JDK 7 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;

  // aka 16

  8、Comparator和Comparable的區(qū)別?

  Comparable 接口用于定義對(duì)象的自然順序,而 comparator 通常用于定義用戶(hù)定制的順序。Comparable 總是只有一個(gè),但是可以有多個(gè) comparator 來(lái)定義對(duì)象的順序。

  9、如何實(shí)現(xiàn)集合排序?

  你可以使用有序集合,如 TreeSet 或 TreeMap,你也可以使用有順序的的集合,如 list,然后通過(guò) Collections.sort() 來(lái)排序。

  如何打印數(shù)組內(nèi)容

  你可以使用 Arrays.toString() 和 Arrays.deepToString() 方法來(lái)打印數(shù)組。由于數(shù)組沒(méi)有實(shí)現(xiàn) toString() 方法,所以如果將數(shù)組傳遞給 System.out.println() 方法,將無(wú)法打印出數(shù)組的內(nèi)容,但是 Arrays.toString() 可以打印每個(gè)元素。

  10、LinkedList的是單向鏈表還是雙向?

  雙向循環(huán)列表,具體實(shí)現(xiàn)自行查閱源碼。

2020年經(jīng)典java初級(jí)面試題總結(jié)

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

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

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美色p| 日韩小视频 | 日韩欧美精品一区二区三区 | 国产精品亚洲一区二区在线观看 | 国产亚洲综合精品一区二区三区 | 日本不卡不码高清免费观看 | 中文字幕一区二区三区有限公司 | 离线枕边人在线观看 | 麻豆精品一区二区三区免费 | 国产精品夜色视频一区二区 | 五月婷婷中文 | 四虎永久在线精品国产免费 | 久久综合噜噜激激的五月天 | 国产小呦 | 青草91 | 九天玄帝诀高清300集免费观看 | 奇米在线观看 | 国产精品免费观看网站 | 深夜免费看片 | 免费看爱爱视频 | 亚洲国产一区二区a毛片 | 亚洲欧美综合网 | 日本网站在线播放 | 日本福利片 | 国产成人一区二区三区影院免费 | 欧美一欧美一级毛片 | 老太婆性杂交毛片 | 一级毛片免费观看久 | 国产精品视频全国免费观看 | 免费一级a毛片在线播出 | 老司机伊人 | 亚洲视频手机在线 | 奇米色在线 | 久久久夜夜夜 | 久久青草国产免费观看 | 手机看片日韩 | 免费一级毛片不卡不收费 | a级毛片视频 | 亚洲第一区视频在线观看 | 五月天婷婷在线视频国产在线 | 久久综合久久综合久久 |