Never forget why you started,
and your mission can be accomplished.

集合

hashMap原理,java8做的改变

zhouchong阅读(22)评论(0)

从结构实现来讲,HashMap是数组+链表+红黑树(JDK1.8添加了红黑树部分)实现的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全。ConcurrentHashMap线程安全。处理...

Collections.sort排序内部原理

zhouchong阅读(27)评论(0)

在Java 6中Arrays.sort()和Collections.sort()用的是MergeSort,而在Java 7中,内部实现换成了TimSort,其对对象间比较的实现要求更加严格

ConcurrentHashMap实现原理及源码分析

zhouchong阅读(31)评论(0)

ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的...

关于hashCode方法的作用

zhouchong阅读(27)评论(0)

想要明白hashCode的作用,你必须要先知道Java中的集合。   总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元...

哈希算法

zhouchong阅读(27)评论(0)

哈希算法 哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值...

List、Map、Set、Queue 的一道自由发挥题

zhouchong阅读(31)评论(0)

问:简单说说你理解的 List 、Map、Set、Queue 的区别和关系? 答:List、Set、Queue 都继承自 Collection 接口,而 Map 则不是(继承自 Object),所以容器类有两个根接口,分别是 Collect...

ConcurrentHashMap在1.7和1.8的不同实现

zhouchong阅读(27)评论(0)

ConcurrentHashMap融合了hashtable和hashmap二者的优势。hashtable是做了同步的,即线程安全,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操...

HashMap的工作原理

zhouchong阅读(32)评论(0)

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题...

ConcurrentHashMap 的实现原理

zhouchong阅读(172)评论(0)

概述 我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合。其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉及到多个线程,并且有读有写的过程中,Ha...