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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 2020年中級開發(fā)java面試題含答案

2020年中級開發(fā)java面試題含答案

更新時間:2020-05-20 15:43:08 來源:動力節(jié)點 瀏覽4605次

1.TreeSet/HashSet的區(qū)別。

顧名思義,首先是結(jié)構(gòu)上的不同。TreeSet背后的結(jié)構(gòu)是TreeMap,也就是紅黑樹,能夠?qū)崿F(xiàn)自動排序。它通過equals方法或者compareTo方法進行內(nèi)容的比較;HashSet背后是HashMap,key是無序的,只能做外部排序。既然是Hash,那么就要重寫其中對象的hashCode和equals方法。

另外,還有個細微的差別:HashSet可以接受null值,有且只有一個;TreeSet默認不可以接受null值,會直接拋出空指針異常。

2.HashMap如何解決沖突,擴容機制?

HashMap的內(nèi)部結(jié)構(gòu)其實是數(shù)組+鏈表(java8后如果長度大于8則轉(zhuǎn)換為紅黑樹)。HashMap初始化時,默認有16個hash槽。存入對象時,首先,通過對象的hashCode,定位到hash槽。如果多個對象同時落入同一個槽,那么就會使用鏈表解決本槽上的沖突。HashMap在創(chuàng)建時,會有一個負載因子。每次put操作,都會檢查當(dāng)前容量是否會超出閾值(initailCapacity*loadFactor)。如果超出,則擴容為當(dāng)前的兩倍。擴容后,數(shù)據(jù)需要重新散列,也就是transfer方法。

3.ConcurrentHashMap如何做到高并發(fā)的?

簡單點說,使用了分段鎖(分離鎖)。每一把鎖用于鎖住容器中的一部分?jǐn)?shù)據(jù),減少線程間對鎖的競爭。

4.線程池平常怎么用?

普通的場景,使用工廠類Executors創(chuàng)建就可以了。常用的有Single、Fixed、Cached三種。更多時候,為了更精細的控制,會直接對ThreadPoolExecutor類進行定制。

5.多個線程等待到某一節(jié)點然后統(tǒng)一放行有幾種實現(xiàn)方式?

最經(jīng)典的就是CountDownLatch,主線程阻塞在await方法,每個線程調(diào)用countDown。可以解決一些經(jīng)典的賽馬問題。還有一個變種就是CyclicBarrier。每個線程都阻塞在await方法,達到一定閾值集體放行。另外還可以使用一些較初級的api,比如Thread的join方法。Future的get方法等,復(fù)雜不推薦。

6.數(shù)據(jù)庫索引結(jié)構(gòu)。

B+Tree,為了適應(yīng)緩慢的磁盤而生的一種索引結(jié)構(gòu)。必須保證按照索引的最左前綴查詢。Hash和HashMap類似,處理沖突的方式是鏈表。

7.select*fromtwherea=?andb>?orderbyclimit0,100如何加索引?

當(dāng)orderby字段出現(xiàn)在where條件中時,才會利用索引而無需排序操作。其他情況,orderby不會出現(xiàn)排序操作。按照最左原則,我可以創(chuàng)建(a,b)的索引。

8.什么是聚簇索引和非聚簇索引?

一個表只能有一個聚簇索引。主索引文件和數(shù)據(jù)文件為同一份文件,默認的InnoDB就支持聚簇索引,B+Tree的葉子節(jié)點上的data就是數(shù)據(jù)本身。而MyISAM就不支持聚簇索引,它的葉子結(jié)點存放的不是數(shù)據(jù)本身,而是數(shù)據(jù)存放的地址。在文件結(jié)構(gòu)上,會分為一個索引文件、一個數(shù)據(jù)文件。

9.了解CAP嗎?redis里的CAP是怎樣的?

Consistency一致性、Availability可用性、Partitiontolerance分區(qū)容錯。一般,都在C、A之間進行權(quán)衡。redis簡單主從模式側(cè)重于CP的,即對于一致性要求較高。redis-cluster,則屬于AP類型,更加強調(diào)可用性。

10.如何理解冪等?項目中接口的冪等是如何做的?

冪等是指多次執(zhí)行,影響相同。比如大多數(shù)Post操作,重復(fù)提交訂單等,最終只會有一個訂單生成成功。還有一種情況就是消息,由于大多數(shù)MQ之保證atleastonce,所以消息有時會重復(fù)。

1)對于Post請求,我一般在請求成功后,強制跳轉(zhuǎn)到其他頁面,避免刷新提交。

2)復(fù)雜的操作一般使用流水號來實現(xiàn)。

3)某些不帶流水號的消息,處理的時候,就要進行多次校驗和check,甚至引入消息狀態(tài)表,來保證冪等。

2020年中級開發(fā)java面試題含答案

以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“2020年中級開發(fā)java面試題含答案”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久九九综合 | 国产大片中文字幕在线观看 | 色视频免费网站 | 日韩国产欧美一区二区三区 | 一级黄色国产片 | www.一级片 | 欧美亚洲日本国产 | 欧美日韩在线不卡 | 2022国产成人福利精品视频 | 国产女人成人精品视频 | 青青青青久久精品国产h | 人人公开免费超级碰碰碰视频 | 欧美在线观看网址 | 欧美成人午夜精品一区二区 | 午夜影院免费版 | 亚洲国产欧美在线人网站 | 2022国产成人福利精品视频 | 亚州激情视频在线播放 | 成人免费播放视频777777 | 免费一级毛片在线播放放视频 | 22eee在线播放成人免费视频 | 护士在线观看 | 成人福利在线观看免费视频 | 天天干天天干天天干天天干天天干 | 中国女人一级毛片 | 欧美日韩在线吹潮视频 | 国产精品亚洲欧美 | 曰批全过程免费视频观看软件 | 日韩免费观看的一级毛片 | 成人免费在线网站 | 97青草香蕉依人在线播放 | 一级黄色片在线看 | 右手影院亚洲欧美 | 精品综合久久久久久8888 | 日本人xxxⅹ18hd18hd | 香港一级a毛片在线播放 | 怡红院免费全部视频在线 | 在线观看 a国v | 欧美一区二区三区免费播放 | 在线观看黄的网站 | 国产乱人伦偷精品视频不卡 |