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

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

java中高級面試題部分答案解析

更新時間:2020-06-11 11:58:17 來源:動力節點 瀏覽2610次

大家在參加java培訓以后都是要面臨就業問題的,就業的時候就會遇到java面試題,動力節點java培訓機構的小編為大家提供java中高級面試題部分答案解析作為參考,希望對大家能夠有所幫助。

java中高級面試題

1、List和Set比較,各自的子類比較

對比一:Arraylist與LinkedList的比較

(1)ArrayList是實現了基于動態數組的數據結構,因為地址連續,一旦數據存儲好了,查詢操作效率會比較高(在內存里是連著放的)。

(2)因為地址連續, ArrayList要移動數據,所以插入和刪除操作效率比較低。

(3)LinkedList基于鏈表的數據結構,地址是任意的,所以在開辟內存空間的時候不需要等一個連續的地址,對于新增和刪除操作add和remove,LinedList比較占優勢。

(4)因為LinkedList要移動指針,所以查詢操作性能比較低。

適用場景分析:

當需要對數據進行對此訪問的情況下選用ArrayList,當需要對數據進行多次增加刪除修改時采用LinkedList。

對比二:ArrayList與Vector的比較

(1)Vector的方法都是同步的,是線程安全的,而ArrayList的方法不是,由于線程的同步必然要影響性能。因此,ArrayList的性能比Vector好。

(2)當Vector或ArrayList中的元素超過它的初始大小時,Vector會將它的容量翻倍,而ArrayList只增加50%的大小,這樣。ArrayList就有利于節約內存空間。

(3)大多數情況不使用Vector,因為性能不好,但是它支持線程的同步,即某一時刻只有一個線程能夠寫Vector,避免多線程同時寫而引起的不一致性。

(4)Vector可以設置增長因子,而ArrayList不可以。

適用場景分析:

(1)Vector是線程同步的,所以它也是線程安全的,而ArrayList是線程異步的,是不安全的。如果不考慮到線程的安全因素,一般用ArrayList效率比較高。

(2)如果集合中的元素的數目大于目前集合數組的長度時,在集合中使用數據量比較大的數據,用Vector有一定的優勢。

對比三:HashSet與TreeSet的比較

(1)TreeSet 是二叉樹實現的,Treeset中的數據是自動排好序的,不允許放入null值 。

(2)HashSet 是哈希表實現的,HashSet中的數據是無序的,可以放入null,但只能放入一個null,兩者中的值都不能重復,就如數據庫中唯一約束 。

(3)HashSet要求放入的對象必須實現HashCode()方法,放入的對象,是以hashcode碼作為標識的,而具有相同內容的String對象,hashcode是一樣,所以放入的內容不能重復。但是同一個類的對象可以放入不同的實例。

適用場景分析:

HashSet是基于Hash算法實現的,其性能通常都優于TreeSet。我們通常都應該使用HashSet,在我們需要排序的功能時,我們才使用TreeSet。

2、HashMap和ConcurrentHashMap的區別

(1)HashMap 不是線程安全的,而 ConcurrentHashMap 是線程安全的。

(2)ConcurrentHashMap 采用鎖分段技術,將整個 Hash 桶進行了分段 segment,也就是將這個大的數組分成了幾個小的片段 segment,而且每個小的片段 segment 上面都有鎖存在,那么在插入元素的時候就需要先找到應該插入到哪一個片段 segment,然后再在這個片段上面進行插入,而且這里還需要獲取 segment 鎖。

(3)ConcurrentHashMap 讓鎖的粒度更精細一些,并發性能更好。

3、HashTable 和 ConcurrentHashMap 的區別

它們都可以用于多線程的環境,但是當 Hashtable 的大小增加到一定的時候,性能會急劇下降,因為迭代時需要被鎖定很長的時間。因為 ConcurrentHashMap 引入了分割(segmentation),不論它變得多么大,僅僅需要鎖定 map 的某個部分,而其它的線程不需要等到迭代完成才能訪問map。簡而言之,在迭代的過程中,ConcurrentHashMap僅僅鎖定map的某個部分,而Hashtable則會鎖定整個map。

4、String,StringBuffer和StringBuilder的區別

(1)運行速度,或者說是執行速度,在這方面運行速度快慢為:StringBuilder > StringBuffer > String。

(2)線程安全上,StringBuilder是線程不安全的,而StringBuffer是線程安全的。

適用場景分析:

String:適用于少量的字符串操作的情況

StringBuilder:適用于單線程下在字符緩沖區進行大量操作的情況

StringBuffer:適用多線程下在字符緩沖區進行大量操作的情況

5、wait和sleep的區別

(1)sleep()方法是屬于Thread類中的,而wait()方法,則是屬于Object類中的。

(2)sleep()方法導致了程序暫停執行指定的時間,讓出cpu給其他線程,但是他的監控狀態依然保持著,當指定的時間到了又會自動恢復運行狀態。所以在調用sleep()方法的過程中,線程不會釋放對象鎖。

(3調用wait()方法的時候,線程會放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象調用notify()方法后本線程才進入對象鎖定池準備獲取對象鎖進入運行狀態。

6、GIT和SVN的區別

(1)GIT是分布式的,SVN不是。

(2)GIT把內容按元數據方式存儲,而SVN是按文件。

(3)GIT分支和SVN的分支不同。

(4)GIT沒有一個全局的版本號,而SVN有。

(5)GIT的內容完整性要優于SVN。

7、BIO、NIO和AIO的區別

Java BIO : 同步并阻塞,服務器實現模式為一個連接一個線程,即客戶端有連接請求時服務器端就需要啟動一個線程進行處理,如果這個連接不做任何事情會造成不必要的線程開銷,當然可以通過線程池機制改善。

Java NIO : 同步非阻塞,服務器實現模式為一個請求一個線程,即客戶端發送的連接請求都會注冊到多路復用器上,多路復用器輪詢到連接有I/O請求時才啟動一個線程進行處理。

Java AIO: 異步非阻塞,服務器實現模式為一個有效請求一個線程,客戶端的I/O請求都是由OS先完成了再通知服務器應用去啟動線程進行處理。

NIO比BIO的改善之處是把一些無效的連接擋在了啟動線程之前,減少了這部分資源的浪費(因為我們都知道每創建一個線程,就要為這個線程分配一定的內存空間)。

AIO比NIO的進一步改善之處是將一些暫時可能無效的請求擋在了啟動線程之前,比如在NIO的處理方式中,當一個請求來的話,開啟線程進行處理,但這個請求所需要的資源還沒有就緒,此時必須等待后端的應用資源,這時線程就被阻塞了。

適用場景分析:

BIO方式適用于連接數目比較小且固定的架構,這種方式對服務器資源要求比較高,并發局限于應用中,JDK1.4以前的唯一選擇,但程序直觀簡單易理解,如之前在Apache中使用。

NIO方式適用于連接數目多且連接比較短(輕操作)的架構,比如聊天服務器,并發局限于應用中,編程比較復雜,JDK1.4開始支持,如在 Nginx,Netty中使用。

AIO方式使用于連接數目多且連接比較長(重操作)的架構,比如相冊服務器,充分調用OS參與并發操作,編程比較復雜,JDK7開始支持,在成長中,Netty曾經使用過,后來放棄。

java中高級面試題部分答案解析

以上就是動力節點java培訓機構的小編針對“java中高級面試題部分答案解析”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲国产精品第一区二区三区 | 欧美大尺度免费一级特黄 | 欧美综合色网 | 欧美精品aaa久久久影院 | 香蕉免费一区二区三区在线观看 | 午夜宅男免费完整在线观看 | 亚洲精品一线观看 | 一级成人a免费视频 | 色资源网站 | 久热这里只有 | 911国产在线观看精品 | 男人的天堂一区二区视频在线观看 | 亚洲精品日韩一区二区 | 久久国产三级 | 国产成人综合一区人人 | 国产精品成人69xxx免费视频 | 午夜在线影院 | 国产一区精品 | 久久经典免费视频 | 国内精品免费一区二区观看 | 国产激情久久久久久影院 | 操野逼| 欧美高清性粉嫩交 | 99久热re在线精品视频 | 午夜色影院 | 国产女人伦码一区二区三区不卡 | 99九色| 久青草视频免费视频播放线路1 | 久久婷婷人人澡人人爱91 | 97影院理论午夜论不卡 | 理论大片三在线观看 | 久久精品一区二区三区不卡牛牛 | 亚洲人成在线观看 | 天堂毛片 | 五月婷婷在线视频 | 97久久久亚洲综合久久88 | 国产国产精品四虎视频精品 | 欧美成人一级毛片 | 免费在线黄色网 | 欧美午夜在线播放 | 99热这就是里面只有精品 |