Java常見面試題:Arraylist與Vector的區別是什麼?

看一個經常出現的JAVA面試題:Arraylist與Vector的區別是什麼?

首先我們給出標準答案:
1、Vector是線程安全的,ArrayList不是線程安全的。
2、ArrayList在底層數組不夠用時在原來的基礎上擴展0.5倍,Vector是擴展1倍。

和ArrayList和Vector一樣,同樣的類似關係的類還有HashMap和HashTable,StringBuilder和StringBuffer,後者是前者線程安全版本的實現。

在單線程環境中,線程安全的這些版本的效率都比不上線程不安全的版本,主要原因是大部分函數都加了關鍵詞:synchronized

導致存在加鎖和釋放鎖的過程,消耗較多時間。

參考文獻:

https://blog.csdn.net/qq_33589510/article/details/77387124

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章