茅坤宝骏氹的博客

写博客,纯粹自娱。转载文章来源网络,转载链接不一定是原文,如有侵权请联系删除...

彻底理解HashMap的元素插入原理

转载自   彻底理解HashMap的元素插入原理 HashMap,是Java语言中比较基础也比较重要的一种数据结构,由于其用途广泛,所以,Java的工程师在设计HashMap的时候考虑了很多因素。 通过阅读HashMap的源码,可以学习到很多知识,本文就是一篇基于HashMap源码的深度分析。...

2018-10-05 13:04:53

阅读数:228

评论数:0

HashMap源码阅读与解析

转载自  HashMap源码阅读与解析   一、导入语 HashMap是我们最常见也是最长使用的数据结构之一,它的功能强大、用处广泛。而且也是面试常见的考查知识点。常见问题可能有HashMap存储结构是什么样的?HashMap如何放入键值对、如何获取键值对应的值以及如何删除一个键值对。今天我...

2018-07-20 09:28:44

阅读数:32

评论数:0

HashMap在java并发中如何发生死循环

转载自   HashMap在java并发中如何发生死循环      在多线程环境中,使用HashMap进行put操作时会引起死循环,导致CPU使用接近100%,下面通过代码分析一下为什么会发生死循环。       首先先分析一下HashMap的数据结构:HashMap底层数据结构是有一个链表...

2018-07-19 13:03:57

阅读数:38

评论数:0

如何线程安全的使用HashMap

转载自  如何线程安全的使用HashMap   在周二面试时,一面的面试官有问到 HashMap 是否是线程安全的,如何在线程安全的前提下使用 HashMap,其实也就是 HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别...

2018-07-19 12:59:55

阅读数:46

评论数:0

聊聊并发(四)深入分析ConcurrentHashMap

转载自  聊聊并发(四)深入分析ConcurrentHashMap 术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。  哈希表 hash table 根据设定...

2018-07-18 22:05:25

阅读数:21

评论数:0

Java并发包:ConcurrentMap

转载自  Java并发包:ConcurrentMap   文章译自:http://tutorials.jenkov.com/java-util-concurrent/index.html  抽空翻译了一下这个教程的文章,后面会陆续放出,如有不妥,请批评指正。  转自请注明出处。  之前漏了一篇...

2018-07-18 22:05:00

阅读数:47

评论数:0

ConcurrentHashMap能完全替代HashTable吗?

转载自  ConcurrentHashMap能完全替代HashTable吗?关于ConcurrentHashMap在之前的ConcurrentHashMap原理分析中已经解释了原理,而HashTable其实大抵上只是对HashMap的线程安全的封装,在JDK7与JDK8中HashMap的实现中解释...

2018-06-09 09:21:36

阅读数:150

评论数:0

ConcurrentHashMap总结

转载自  ConcurrentHashMap总结并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降...

2018-06-09 09:21:18

阅读数:21

评论数:0

深入并发包-ConcurrentHashMap

转载自  深入并发包-ConcurrentHashMap前言以前写过介绍HashMap的文章,文中提到过HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他...

2018-06-09 09:19:58

阅读数:117

评论数:2

【集合框架】JDK1.8源码分析之HashMap(一)

转载自  【集合框架】JDK1.8源码分析之HashMap(一)一、前言  在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目...

2018-06-09 09:12:53

阅读数:43

评论数:0

关于HashMap容量的初始化,还有这么多学问

转载自 关于HashMap容量的初始化,还有这么多学问在《HashMap中傻傻分不清楚的那些概念》文章中,我们介绍了HashMap中和容量相关的几个概念,简单介绍了一下HashMap的扩容机制。文中我们提到,默认情况下HashMap的容量是16,但是,如果用户通过构造函数指定了一个数字作为容量,那...

2018-06-03 07:47:28

阅读数:5718

评论数:7

HashMap中傻傻分不清楚的那些概念

转载自 HashMap中傻傻分不清楚的那些概念很多人在通过阅读源码的方式学习Java,这是个很好的方式。而JDK的源码自然是首选。在JDK的众多类中,我觉得HashMap及其相关的类是设计的比较好的。很多人读过HashMap的代码,不知道你们有没有和我一样,觉得HashMap中关于容量相关的参数定...

2018-05-26 08:38:20

阅读数:58

评论数:0

全网把Map中的hash()分析的最透彻的文章,别无二家。

转载自 全网把Map中的hash()分析的最透彻的文章,别无二家。你知道HashMap中hash方法的具体实现吗?你知道HashTable、ConcurrentHashMap中hash方法的实现以及原因吗?你知道为什么要这么实现吗?你知道为什么JDK 7和JDK 8中hash方法实现的不同以及区别...

2018-05-18 10:38:30

阅读数:145

评论数:0

ConcurrentHashMap的红黑树实现分析

转载自 ConcurrentHashMap的红黑树实现分析红黑树红黑树是一种特殊的二叉树,主要用它存储有序的数据,提供高效的数据检索,时间复杂度为O(lgn),每个节点都有一个标识位表示颜色,红色或黑色,有如下5种特性:1、每个节点要么红色,要么是黑色;2、根节点一定是黑色的;3、每个空叶子节点必...

2018-05-08 10:34:11

阅读数:44

评论数:0

Java HashSet和HashMap源码剖析

转载自 Java HashSet和HashMap源码剖析总体介绍之所以把HashSet和HashMap放在一起讲解,是因为二者在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说HashSet里面有一个HashMap(适配器模式)。因此本文将重点分析HashMap。HashMap实现...

2018-05-08 10:34:03

阅读数:33

评论数:0

图解HashMap和HashSet的内部工作机制

转载自 图解HashMap和HashSet的内部工作机制HashMap 和 HashSet 内部是如何工作的?散列函数(hashing function)是什么?HashMap 不仅是一个常用的数据结构,在面试中也是热门话题。Q1. HashMap 如何存储数据?A1. 以键/值对(key/val...

2018-05-08 10:31:50

阅读数:131

评论数:0

如何线程安全的使用HashMap

转载自 如何线程安全的使用HashMap在周二面试时,一面的面试官有问到HashMap是否是线程安全的,如何在线程安全的前提下使用HashMap,其实也就是HashMap,Hashtable,ConcurrentHashMap和synchronized Map的原理和区别。当时有些紧张只是简单说了...

2018-05-08 10:30:54

阅读数:37

评论数:0

Java 8 HashMap键与Comparable接口

转载自 Java 8 HashMap键与Comparable接口   这篇文章主要介绍了 Java 8 在 HashMap 哈希冲突处理方面的新特性。 相对之前的版本,Java 8 在许多方面有了提升。其中有很多类被更新了,HashMap 作为最常使用的集合类之一也不例外。这篇文章将介绍 J...

2018-05-08 10:30:15

阅读数:43

评论数:0

HashMap 实现原理

转载自 HashMap 实现原理HashMap是常考点,而一般不问List的几个实现类(偏简单)。以下基于JDK1.8.0_102分析。内部存储HashMap的内部存储是一个数组(bucket),数组的元素Node实现了是Map.Entry接口(hash, key, value, next),ne...

2018-05-08 10:29:45

阅读数:36

评论数:0

Java8系列之重新认识HashMap

转载自 Java8系列之重新认识HashMap简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1)...

2018-05-08 10:28:51

阅读数:33

评论数:0

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