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在并发编程的...

String类是线程安全,是不是不可变就意味着是线程安全的?

zhouchong阅读(24)评论(0)

这个题目的意思就是说一个对象是不可变的,那么对这个对象的操作就一定是线程安全的嘛?答案是否定的。 1、不可变类与可变类的区别? 不可变类:这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、...

关于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...