1,show the difference between LinkedListand ArrayList
數(shù)組:1)固定長度的,只能一次性設(shè)置一個固定長度的值。
ArrayList:1)是一個數(shù)組隊列,實現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),
2)隨機訪問方法get和set比linkedlist快,因為linkedlist需要移動指針,
3)線程不安全,
4)上面的動態(tài)數(shù)組機制:Arraylist先分配固定長度的數(shù)組,若不夠用則進行數(shù)組擴容,整個數(shù)據(jù)進行一次內(nèi)存復制,system.arraycopy()。
5)支持序列化,即實現(xiàn)了serializable接口
LinkedList: 1)是一個雙向鏈表,實現(xiàn)了基于鏈表的數(shù)據(jù)結(jié)構(gòu),不需要維護容量的大小,
2)插入和刪除數(shù)據(jù)add和remove比ArrayList快,因為Arraylist需要移動數(shù)據(jù)。
3)線程不安全,
Vector:1)線程安全,支持多線程訪問,即他的函數(shù)都是支持同步的,但是效率低
2)是一個矢量隊列,和ArrayList一樣,實現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),
3)不支持序列化
2,spring原理?
原文轉(zhuǎn)自:http://blog.csdn.net/y13530828499/article/details/6648155