随笔分类 -  java Map

1
摘要:转载自 彻底理解HashMap的元素插入原理 HashMap,是Java语言中比较基础也比较重要的一种数据结构,由于其用途广泛,所以,Java的工程师在设计HashMap的时候考虑了很多因素。 通过阅读HashMap的源码,可以学习到很多知识,本文就是一篇基于HashMap源码的深度分析。 全文文字 阅读全文
posted @ 2018-10-05 13:04 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 HashMap源码阅读与解析 一、导入语 HashMap是我们最常见也是最长使用的数据结构之一,它的功能强大、用处广泛。而且也是面试常见的考查知识点。常见问题可能有HashMap存储结构是什么样的?HashMap如何放入键值对、如何获取键值对应的值以及如何删除一个键值对。今天我们就来看看Ha 阅读全文
posted @ 2018-07-20 09:28 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 如何线程安全的使用HashMap 在周二面试时,一面的面试官有问到 HashMap 是否是线程安全的,如何在线程安全的前提下使用 HashMap,其实也就是 HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别。当时有些紧 阅读全文
posted @ 2018-07-19 12:59 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 聊聊并发(四)深入分析ConcurrentHashMap 术语定义 术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址 阅读全文
posted @ 2018-07-18 22:05 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 Java并发包:ConcurrentMap 文章译自:http://tutorials.jenkov.com/java-util-concurrent/index.html 抽空翻译了一下这个教程的文章,后面会陆续放出,如有不妥,请批评指正。 转自请注明出处。 之前漏了一篇文章,这篇应该是在 阅读全文
posted @ 2018-07-18 22:05 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 ConcurrentHashMap能完全替代HashTable吗? 关于ConcurrentHashMap在之前的ConcurrentHashMap原理分析中已经解释了原理,而HashTable其实大抵上只是对HashMap的线程安全的封装,在JDK7与JDK8中HashMap的实现中解释了 阅读全文
posted @ 2018-06-09 09:21 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 深入并发包-ConcurrentHashMap 前言 以前写过介绍HashMap的文章,文中提到过HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他 阅读全文
posted @ 2018-06-09 09:19 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 【集合框架】JDK1.8源码分析之HashMap(一) 一、前言 在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只 阅读全文
posted @ 2018-06-09 09:12 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 关于HashMap容量的初始化,还有这么多学问 在《HashMap中傻傻分不清楚的那些概念》文章中,我们介绍了HashMap中和容量相关的几个概念,简单介绍了一下HashMap的扩容机制。 文中我们提到,默认情况下HashMap的容量是16,但是,如果用户通过构造函数指定了一个数字作为容量, 阅读全文
posted @ 2018-06-03 07:47 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 ConcurrentHashMap的红黑树实现分析 红黑树 红黑树是一种特殊的二叉树,主要用它存储有序的数据,提供高效的数据检索,时间复杂度为O(lgn),每个节点都有一个标识位表示颜色,红色或黑色,有如下5种特性:1、每个节点要么红色,要么是黑色;2、根节点一定是黑色的;3、每个空叶子节点 阅读全文
posted @ 2018-05-08 10:34 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 Java 8 HashMap键与Comparable接口 这篇文章主要介绍了 Java 8 在 HashMap 哈希冲突处理方面的新特性。 相对之前的版本,Java 8 在许多方面有了提升。其中有很多类被更新了,HashMap 作为最常使用的集合类之一也不例外。这篇文章将介绍 Java 8 阅读全文
posted @ 2018-05-08 10:30 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 HashMap 实现原理 HashMap是常考点,而一般不问List的几个实现类(偏简单)。以下基于JDK1.8.0_102分析。 内部存储 HashMap的内部存储是一个数组(bucket),数组的元素Node实现了是Map.Entry接口(hash, key, value, next), 阅读全文
posted @ 2018-05-08 10:29 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 Java8系列之重新认识HashMap 简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示: 下面针对各个实现类的特点做一些说明: 阅读全文
posted @ 2018-05-08 10:28 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 HashMap的实现与优化 HashMap的优化与实践 本文是基于作者在github上的Android 问题交流讨论坛提问而产生的一篇文章,也是自己早打算开坑的一篇文章。文章首先介绍了hashMap的一些基本知识,然后介绍了它在JDK8下的实现原理,最后着重介绍了几个面试中处理大数据的方法, 阅读全文
posted @ 2018-05-08 10:27 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 谈谈HashMap线程不安全的体现 HashMap的原理以及如何实现,之前在JDK7与JDK8中HashMap的实现中已经说明了。 那么,为什么说HashMap是线程不安全的呢?它在多线程环境下,会发生什么情况呢? 1. resize死循环 我们都知道HashMap初始容量大小为16,一般来 阅读全文
posted @ 2018-05-08 10:26 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析 网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMa 阅读全文
posted @ 2018-05-07 11:07 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 Java HashMap 遍历方式性能探讨 关于HashMap的实现这里就不展开了,具体可以参考JDK7与JDK8中HashMap的实现 JDK8之前,可以使用keySet或者entrySet来遍历HashMap,JDK8中引入了map.foreach来进行遍历。 原因: keySet其实是 阅读全文
posted @ 2018-05-07 11:07 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 面试必问-几种线程安全的Map解析 HashMap线程安全的吗? Java中平时用的最多的Map集合就是HashMap了,它是线程不安全的。 看下面两个场景: 1、当用在方法内的局部变量时,局部变量属于当前线程级别的变量,其他线程访问不了,所以这时也不存在线程安全不安全的问题了。 2、当用在 阅读全文
posted @ 2018-05-02 13:03 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 玻璃猫 程序员小灰 上一期我们介绍了HashMap的基本原理, 这一期我们来讲解高并发环境下,HashMap可能出现的致命问题。 HashMap的容量是有限的。当经过多次元素插入,使得HashMap达到一定饱和度时,Key映射位置发生冲突的几率会逐渐提高。 这时候,HashMap需要扩展它的 阅读全文
posted @ 2018-04-12 18:46 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 玻璃猫 程序员小灰 众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。 HashMap数组每一个元素的初始值都是Null。 对于HashMap,我们最常使用的 阅读全文
posted @ 2018-04-12 18:41 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)

1