国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

java基礎 面試題

cc17 / 983人閱讀

摘要:的區別是不可變的,如果嘗試去修改,會新生成一個字符串對象,和是可變的是線程安全的,是線程不安全的,所以在單線程環境下效率會更高和有哪些區別首先,他們的底層數據結構不同,底層是基于數組實現的,底層是基于鏈表實現的由于底層

1、String、StringBuffer、StringBuilder的區別
1.String是不可變的,如果嘗試去修改,會新生成一個字符串對象,StringBuffer和StringBuilder是可變的
2.StringBuffer是線程安全的,StringBuilder是線程不安全的,所以在單線程環境下StringBuilder效率會更高

2、ArrayList和LinkedList有哪些區別
1.首先,他們的底層數據結構不同,ArrayList底層是基于數組實現的,LinkedList底層是基于鏈表實現的
2.由于底層數據結構不同,他們所適用的場景也不同,ArrayList更適合隨機查找,LinkedList更適合刪除和添加,查詢、添加、刪除的時間復雜度不同
3.另外ArrayList和LinkedList都實現了List接口,但是LinkedList還額外實現了Deque接口,所以LinkedList還可以當做隊列來使用

3、CopyOnWriteArrayList的底層原理是怎樣的
1.首先CopyOnWriteArrayList內部也是用過數組來實現的,在向CopyOnWriteArrayList添加元素時,會復制一個新的數組,寫操作在新數組上進行,讀操作在原數組上進行
2.并且,寫操作會加鎖,防止出現并發寫入丟失數據的問題
3.寫操作結束之后會把原數組指向新數組
4. CopyOnWriteArrayList允許在寫操作時來讀取數據,大大提高了讀的性能,因此適合讀多寫少的應用場景,但是CopyOnWriteArrayList會比較占內存,同時可能讀到的數據不是實時最新的數據,所以不適合實時性要求很高的場景

4、HashMap的擴容機制原理
1.7版本
1.先生成新數組
2.遍歷老數組中的每個位置上的鏈表上的每個元素
3.取每個元素的key,并基于新數組長度,計算出每個元素在新數組中的下標
4.將元素添加到新數組中去
5.所有元素轉移完了之后,將新數組賦值給HashMap對象的table屬性
1.8版本
1.先生成新數組
2.遍歷老數組中的每個位置上的鏈表或紅黑樹
3.如果是鏈表,則直接將鏈表中的每個元素重新計算下標,并添加到新數組中去
4.如果是紅黑樹,則先遍歷紅黑樹,先計算出紅黑樹中每個元素對應在新數組中的下標位置
a.統計每個下標位置的元素個數
b.如果該位置下的元素個數超過了8,則生成一個新的紅黑樹,并將根節點的添加到新數組的對應位置
c.如果該位置下的元素個數沒有超過8,那么則生成一個鏈表,并將鏈表的頭節點添加到新數組的對應位置
5.所有元素轉移完了之后,將新數組賦值給HashMap對象的table屬性

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/124762.html

相關文章

  • 求職準備 - 收藏集 - 掘金

    摘要:一基礎接口的意義百度規范擴展回調抽象類的意義想不想通過一線互聯網公司面試文檔整理為電子書掘金簡介谷歌求職記我花了八個月準備谷歌面試掘金原文鏈接翻譯者 【面試寶典】從對象深入分析 Java 中實例變量和類變量的區別 - 掘金原創文章,轉載請務必保留原出處為:http://www.54tianzhisheng.cn/... , 歡迎訪問我的站點,閱讀更多有深度的文章。 實例變量 和 類變量...

    cuieney 評論0 收藏0
  • Android-Java面試

    摘要:好不容易在月號這天中午點左右接到了來自阿里的面試電話。這里會不斷收集和更新基礎相關的面試題,目前已收集題。面試重難點的和的打包過程多線程機制機制系統啟動過程,啟動過程等等掃清面試障礙最新面試經驗分享,此為第一篇,開篇。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 各大公司 Java 后端開發面試題總結 各大公司 Jav...

    TalkingData 評論0 收藏0
  • Java面試:面向對象,類加載器,JDBC, Spring 基礎概念

    摘要:為什么不是面向對象不是面向對象,因為它包含個原始數據類型,例如。自定義類加載器繼承的自定義類加載器。可以像下面這樣指定參數面試題面向對象,類加載器,基礎概念它們的關系如下啟動類加載器,實現,沒有父類。自定義類加載器,父類加載器為。 1. 為什么說Java是一門平臺無關語言? 平臺無關實際的含義是一次編寫到處運行。Java 能夠做到是因為它的字節碼(byte code)可以運行在任何操作...

    Euphoria 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<