HashMap
public static void main(String[] args){
HashMap<String,Object> map = new HashMap<>();
map.put("zxm","zhangxiaomin");
}
數(shù)組
連續(xù)的存儲空間
鏈表
非連續(xù)的存儲空間,查詢的時間復(fù)雜度O(n)
紅黑樹
漫談 分布式
hashMap
hashTable
數(shù)據(jù)結(jié)構(gòu)是什么?
數(shù)據(jù)結(jié)構(gòu)緊跟著的應(yīng)該是算法。
算法分析完成應(yīng)該是多線程下的數(shù)據(jù)安全問題。
HashMap 線程安全的嗎?
hashMap的數(shù)據(jù)結(jié)構(gòu)是什么呢?
HashMap設(shè)計的初衷
jvm的工作原理是:
內(nèi)核(kernel)的工作原理:
電腦的工作原理
打開電源 --》 bois ---》 boot 內(nèi)核 ---》 啟動程序(內(nèi)核的主要工作是進程間的調(diào)度)--》操作磁盤。
HDFS
node1
node2
node3
REDIS
備注
HashMap
java1.7
? 數(shù)組 + 鏈表
? 初始化數(shù)據(jù)16 擴容0.75
? 數(shù)據(jù)超過16*0.75會擴容
多線程擴容會產(chǎn)生循環(huán)鏈表(不安全)
java1.8
? 數(shù)組 + 鏈表 + 紅黑樹
? 初始化數(shù)據(jù)16擴容0.75
HashMap的線程不安全主要體現(xiàn)在下面兩個方面:
1.在JDK1.7中,當并發(fā)執(zhí)行擴容操作時會造成環(huán)形鏈和數(shù)據(jù)丟失的情況。
2.在JDK1.8中,在并發(fā)執(zhí)行put操作時會發(fā)生數(shù)據(jù)覆蓋的情況。