
java基础
文章平均质量分 61
以应用场景为线索,逐步深入理解java各个组件的原理以及常见注意点,从而提高我们的开发能力和解决问题的能力。
辉锅讲技术
这个作者很懒,什么都没留下…
展开
-
Java集合Map之Hashtable原理
上回我们在学习HashMap原理的时候遗留了一个问题,即HashMap是非线程安全的,那么如何来解决HashMap的线程安全问题呢,此时Hashtable就诞生了,今天我就来看下Hashtable是如何解决HashMap的线程安全的,请看源码:public synchronized V put(K key, V value) { //插入value值不能为null if (value == null) { throw new NullPointerExcep原创 2020-05-22 10:01:38 · 201 阅读 · 2 评论 -
Java集合Map之HashMap原理(jdk1.8版)
大家好,还记得上一篇文章我给大家留的问题么?如果没有印象请看《Java集合Map之HashMap原理(jdk1.7版)》.简单来说jdk1.7班的HashMap,当 Hash 冲突严重时,在桶上形成的链表会变的越来越长,这样在查询时的效率就会越来越低;时间复杂度为 O ( N ) 。今天我们就看下jdk1.8是如何进行优化的,其实啊jdk1.8正对这个问题做了两方面的优化:分别是Hash值算法优化和红黑树的加入,好的接下来我们具体看下。1.hash值优化话不多说先看源码/*** J...原创 2020-05-20 15:16:00 · 274 阅读 · 1 评论 -
Java集合Map之HashMap原理(jdk1.7版)
Map是java开发中最常见的一种数据结构,最常用的Map类型有HashMap、TreeMap、SortedMap等,今天就和大家分享下HashMap的底层原理,以及注意事项。HashMap 底层是基于 数组 + 链表 组成的,但是在具体实现方面jdk1.7和jdk1.8稍微有些不同,今天我们先来学习下jdk1.7的HashMap,请看下图根据上图我们知道HashMap其实是由一个数组组成,每个数组里面包含一个链表,每个链表是由多个K,V的数据结构组成,OK我们先对其结构有个大概的了解...原创 2020-05-19 18:25:43 · 384 阅读 · 1 评论