标签:HashMap

JAVA

从 HashMap 的扩容机制来说它为什么不是线程安全的!

herman 6年前 (2018-11-20) 2365浏览

我在前面的文章《Java 线程安全的3大核心:原子性、可见性、有序性》中已经说到了什么是线程安全!根据这篇文章,我们对照着 HashMap 来说说它为什么不是线程安全的? 前面我也强调过多次,回答是不是线程安全的请从:原子性、可见性、有序性...

JAVA

HashMap 存在的意义是什么?

herman 6年前 (2018-11-20) 3098浏览

我一直在思考一个问题:HashMap 存在的意义是什么?也就是说 Java 为什么要设计 HashMap?我问了很多面试者以及很多 CSDN 的博客专家都没有找到想要的答案!于是我自己查了很多资料想找 HashMap 为什么需要这样设计?最终都没...

JAVA

HashMap 的实现原理

herman 6年前 (2018-06-17) 2754浏览 0评论

众所周知,HashMap是用来存储Key-Value键值对的一种集合,这个键值对也叫做Entry,而每个Entry都是存储在数组当中,因此这个数组就是HashMap的主干。 HashMap数组中的每一个元素的初始值都是NULL  ...

JAVA

Java HashMap 的死循环(HashMap Infinite Loop)

herman 6年前 (2018-06-17) 2399浏览 0评论

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Ja...

JAVA

详解 Java 中的 Iterable、Itetator、Enumeration

herman 6年前 (2018-05-01) 3390浏览 0评论

Java 中对一些集合循环遍历做了一些特殊的封装。一些是方便我们的操作,一些是存在存储性能等方面设计的。关于 Iterable、Itetator、Enumeration,我们一起来学习它们。 Iterable Iterable接口实现...

业余杂谈

区块链 Hash 的不可修改性

herman 6年前 (2017-12-30) 3553浏览 0评论

本文主要讲区块链 Hash 的不可修改性以及区块链名字的由来。 区块与 Hash 是一一对应的,每个区块的 Hash 都是针对"区块头"(Head)计算的。 Hash = SHA256(区块头) 上面...

JAVA

java ConcurrentHashMap 教程

xmt_herman_gcy 7年前 (2017-07-06) 2304浏览 0评论

ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程...

JAVA

人为的产生一个Java的内存泄露的方法

herman 7年前 (2017-05-13) 3473浏览 0评论

内存泄漏一般都是无意之间产生的。可是有人让你估计产生内存泄漏,你该怎么做呢?这样的事情并不奇葩,我在面试中就遇到过。当时回答的不是很完美,现在查了相关资料,在这里做个总结! 那么怎么才能产生一个内存泄露呢? 解决方案且听我细细道来。在...

JAVA

java 中 HashMap 和 Hashtable 之间的不同

herman 7年前 (2017-05-12) 2857浏览 0评论

关于 HashMap 和 Hashtable 之间的不同?网上有大批的网友在讨论,而在我看来,他们都没有Stackoverflow上一位网友总结的全面。因此在这里摘录一下,方面自己加深理解! 链表的存储结构 Hash...