- list、set
- arraylist、linkedlist
- concurrenthashmap扩容机理
list:有序,可重复,允许多个null,支持下标随机访问
set:无序,不可重复,单一null,必须遍历访问
arraylist:基于数组实现,占用连续空间,有利于查找、修改,不利于插入、删除[适用场景不同]
linkedlist:基于链表实现,不要求占用空间连续,有利于插入、删除,不利于查找、修改[适用场景不同]
1.7之前:基于segment分段hashmap存储实现的,segment分段存储部分不扩容,仅内部的hashmap进行扩容[哪个线程对应的内部hashmap需要扩容,哪个线程就负责做这个事情]
1.8之后:不是基于segment分段存储实现的,所有的K-V对都包含在一个map中,只是扩容的时候,那就每个子线程都参与扩容