从 HashMap 的扩容机制来说它为什么不是线程安全的!
herman 6年前 (2018-11-20) 2481浏览
我在前面的文章《Java 线程安全的3大核心:原子性、可见性、有序性》中已经说到了什么是线程安全!根据这篇文章,我们对照着 HashMap 来说说它为什么不是线程安全的? 前面我也强调过多次,回答是不是线程安全的请从:原子性、可见性、有序性...
herman 6年前 (2018-11-20) 2481浏览
我在前面的文章《Java 线程安全的3大核心:原子性、可见性、有序性》中已经说到了什么是线程安全!根据这篇文章,我们对照着 HashMap 来说说它为什么不是线程安全的? 前面我也强调过多次,回答是不是线程安全的请从:原子性、可见性、有序性...
herman 6年前 (2018-11-20) 3294浏览
我一直在思考一个问题:HashMap 存在的意义是什么?也就是说 Java 为什么要设计 HashMap?我问了很多面试者以及很多 CSDN 的博客专家都没有找到想要的答案!于是我自己查了很多资料想找 HashMap 为什么需要这样设计?最终都没...
herman 6年前 (2018-11-17) 2854浏览
很多人搞不懂 HashMap,我认为究其原因是他们的学习方法不对!今天我总结了一个关于 HashMap 的 put 方法执行过程,分享给大家! 面试的时候,HashMap 基本上是必问的知识点。 很多人在回答的时候,照本宣科。Hash...
herman 7年前 (2018-06-17) 3031浏览 0评论
众所周知,HashMap是用来存储Key-Value键值对的一种集合,这个键值对也叫做Entry,而每个Entry都是存储在数组当中,因此这个数组就是HashMap的主干。 HashMap数组中的每一个元素的初始值都是NULL ...
herman 7年前 (2018-06-17) 2589浏览 0评论
在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Ja...
herman 7年前 (2018-05-01) 3654浏览 0评论
Java 中对一些集合循环遍历做了一些特殊的封装。一些是方便我们的操作,一些是存在存储性能等方面设计的。关于 Iterable、Itetator、Enumeration,我们一起来学习它们。 Iterable Iterable接口实现...
herman 7年前 (2018-05-01) 2114浏览 0评论
Java 中主要与 hash 有关且常用的4个类:HashMap、HashTable、HashSet、ConcorrentHashMap。本文将介绍它们的一些用法和原理。 HashMap HashMap是基于hashing的原理,使用...
herman 7年前 (2017-12-30) 3814浏览 0评论
本文主要讲区块链 Hash 的不可修改性以及区块链名字的由来。 区块与 Hash 是一一对应的,每个区块的 Hash 都是针对"区块头"(Head)计算的。 Hash = SHA256(区块头) 上面...
xmt_herman_gcy 7年前 (2017-07-06) 2526浏览 0评论
ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程...
herman 8年前 (2017-05-13) 3779浏览 0评论
内存泄漏一般都是无意之间产生的。可是有人让你估计产生内存泄漏,你该怎么做呢?这样的事情并不奇葩,我在面试中就遇到过。当时回答的不是很完美,现在查了相关资料,在这里做个总结! 那么怎么才能产生一个内存泄露呢? 解决方案且听我细细道来。在...
herman 8年前 (2017-05-12) 3140浏览 0评论
关于 HashMap 和 Hashtable 之间的不同?网上有大批的网友在讨论,而在我看来,他们都没有Stackoverflow上一位网友总结的全面。因此在这里摘录一下,方面自己加深理解! 链表的存储结构 Hash...