摘要: List集合中的元素可以重复 ArrayList:数组,查询比较快 LinkedList:链表,常用于增删改效率高 Vector:线程安全,synchronized 线程安全的写法:Collections.synchronizedList(new ArrayList()) Set集合中的元素不可以重 阅读全文
posted @ 2018-09-07 17:56 暖暖-木木 阅读(131) 评论(0) 推荐(0) 编辑
摘要: HashTable: put方法加了同步锁synchronized,底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低。 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式 阅读全文
posted @ 2018-09-07 15:57 暖暖-木木 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 一、背景: 线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 https://www.cnblogs.com/banjinbaijiu/p/9147434.html 效率低下的HashT 阅读全文
posted @ 2018-09-07 15:15 暖暖-木木 阅读(238) 评论(0) 推荐(0) 编辑
摘要: HashMap的存储结构是由数组和单链表共同完成。Entry<K,V>[] ,Entry是单向链表。 1 HashMap数据结构 HashMap的底层主要是基于数组和链表来实现的,它之所以有相当快的查询速度主要是因为它是通过计算散列码来决定存储的位置。HashMap中主要是通过key的hashCod 阅读全文
posted @ 2018-09-07 14:11 暖暖-木木 阅读(376) 评论(0) 推荐(0) 编辑