自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(3)
  • 收藏
  • 关注

原创 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 63

原创 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 90

原创 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 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除