HashMap
public static void main(String[] args){
HashMap<String,Object> map = new HashMap<>();
map.put("zxm","zhangxiaomin");
}
数组
连续的存储空间
链表
非连续的存储空间,查询的时间复杂度O(n)
红黑树
漫谈 分布式
hashMap
hashTable
数据结构是什么?
数据结构紧跟着的应该是算法。
算法分析完成应该是多线程下的数据安全问题。
HashMap 线程安全的吗?
hashMap的数据结构是什么呢?
HashMap设计的初衷
jvm的工作原理是:
内核(kernel)的工作原理:
电脑的工作原理
打开电源 --》 bois ---》 boot 内核 ---》 启动程序(内核的主要工作是进程间的调度)--》操作磁盘。
HDFS
node1
node2
node3
REDIS
备注
HashMap
java1.7
数组 + 链表
初始化数据16 扩容0.75
数据超过16*0.75会扩容
多线程扩容会产生循环链表(不安全)
java1.8
数组 + 链表 + 红黑树
初始化数据16扩容0.75
HashMap
的线程不安全主要体现在下面两个方面:
1.在JDK1.7中,当并发执行扩容操作时会造成环形链和数据丢失的情况。
2.在JDK1.8中,在并发执行put操作时会发生数据覆盖的情况。