上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 76 下一页
摘要: 多线程死锁:同步中嵌套同步,导致锁无法释放。 死锁解决办法:不要在同步中嵌套同步 public class Demo06DeadLock { public static void main(String[] args) { //创建线程任务对象 Ticket ticket = new Ticket( 阅读全文
posted @ 2021-02-25 09:56 周文豪 阅读(91) 评论(0) 推荐(0)
摘要: 线程安全: 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的,反之则是线程不安全的。 卖票案例: public class Demo08 { public static void main(S 阅读全文
posted @ 2021-02-24 15:57 周文豪 阅读(140) 评论(0) 推荐(0)
摘要: ConcurrentHashMap通常只被看做并发效率更高的Map,用来替换其他线程安全的Map容器,比如 Hashtable和Collections.synchronizedMap。线程安全的容器,特别是Map,很多情况下一个业务中 涉及容器的操作有多个(读get写put,remove),即复合操 阅读全文
posted @ 2021-02-24 11:55 周文豪 阅读(400) 评论(0) 推荐(0)
摘要: 一、并发容器ConcurrentHashMap HashMap是我们用得非常频繁的一个集合,但是它是线程不安全的。并且在多线程环境下,put操作是有可能产生死循环,不过在JDK1.8的版本中更换了数据插入的顺序,已经解决了这个问题。 为了解决该问题,提供了Hashtable和Collections. 阅读全文
posted @ 2021-02-24 11:27 周文豪 阅读(5618) 评论(0) 推荐(0)
摘要: ConcurrentHashmap、HashMap和Hashtable都是key-value存储结构,但他们有一个不同点是 ConcurrentHashmap、Hashtable不支持key或者value为null,而HashMap是支持的。 为什么要这么设计? 在网上找到了这样的解答:The ma 阅读全文
posted @ 2021-02-22 17:42 周文豪 阅读(494) 评论(0) 推荐(0)
摘要: 需要,因为要重新计算旧数组元素在新数组地址。HashMap在JDK1.8中的rehash算法(也就是扩容后重新为里面的键值对寻址的算法)进行优化。hash寻址算法是 index =(n - 1) & hash 在JDK1.7的时候,是将数组扩容为两倍,然后将HashMap中所有的key重新进行has 阅读全文
posted @ 2021-02-22 16:51 周文豪 阅读(4758) 评论(0) 推荐(1)
摘要: 在当我们对HashMap初始化时没有设置初始化容量,系统会默认创建一个容量为16的大小的集合。当HashMap的容量值超过了临界值(默认16*0.75=12)时,HashMap将会重新扩容到下一个2的指数幂(16->32)。HashMap扩容将要进行resize的操作,频繁resize,会导致降低性 阅读全文
posted @ 2021-02-22 16:11 周文豪 阅读(1258) 评论(0) 推荐(0)
摘要: HashMap通过resize()方法进行扩容。 源码解析: resize()函数有两种使用情况: 一、当table数组为null时初始化hash表。 二、当table数组不为null时进行扩容。 1、如果table数组的容量超过最大容量时,无法扩容,直接返回旧的数组。并将threshold值设置为 阅读全文
posted @ 2021-02-22 15:57 周文豪 阅读(5951) 评论(0) 推荐(2)
摘要: Threshold:table数组元素个数size的大小超过threshold且且Node<K,V>[] table数组长度没有超过64时时table数组扩容。当hashmap中的元素个数size超过数组长度*loadFactor时,就会进行数组扩容,loadFactor的默认值为0.75,也就是说 阅读全文
posted @ 2021-02-22 12:13 周文豪 阅读(3230) 评论(0) 推荐(0)
摘要: 底层原理:Map + 无序 + 键唯一 + 哈希表 (数组+Entry)+ 存取值 1、HashMap是Map接口的实现类。实现HashMap对数据的操作,允许有一个null键,多个null值。 ConcurrentHashmap、Hashtable不支持key或者value为null,而HashM 阅读全文
posted @ 2021-02-22 11:54 周文豪 阅读(1806) 评论(0) 推荐(0)
上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 76 下一页