
Java底层实现原理
文章平均质量分 70
社会你鑫哥
这个作者很懒,什么都没留下…
展开
-
HashSet的底层实现
这篇文章的来源是这样的: 有一次面试,面试官问我HashSet的底层实现,可以使用HashMap来实现吗? 我没有看过啊,感觉瞬间懵逼!!! 后来一看:其实底层就是用HashMap实现的。HashSet底层是采用HashMap实现的。HashSet 的实现比较简单,HashSet 的绝 大部分方法都是通过调用 HashMap 的方法来实现的,因此 Hash...原创 2018-05-21 21:10:09 · 690 阅读 · 0 评论 -
HashMap底层实现原理
HashMap的出现 在线性表(数组,链表等),树中,关键字与其它的存放位置不存在对应的关系,在查找关键字的时候需要逐个比对,虽然出现了二分查找等各种提高效率的的查找算法,但这些并不够,我们需要查找关键时候不需进行比对,一次找到,因此把关键字和其对应的存储位置间建立对应的关系,由此哈希表应运而生。 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。...原创 2018-03-27 18:48:37 · 363 阅读 · 0 评论 -
Arrays.sort()的底层实现
Java Arrays中提供了对所有类型的排序。其中主要分为Primitive(8种基本类型)和Object两大类。 基本类型:采用调优的快速排序 对象类型:采用改进的归并排序1.基本类型(以int为例)源码中的快速排序,主要做了以下几个方面的优化: 1)当待排序的数组中的元素个数较少时,源码中的阀值为7,采用的是插入排序。尽管插入排序的时间复杂度为0...原创 2018-05-21 21:32:57 · 6400 阅读 · 0 评论 -
String"+"拼接底层实现原理
说起String拼接,大家会想到几个对比: String:常量,不可变,不适合用来字符串拼接,每次都是新创建的对象,消耗较大。 StringBuffer:适合用来作字符串拼接 StringBuilder:JDK1.5引入,适合用来作字符串拼接,与StringBuffer区别是他不是线程安全的 接下来进入正题String”+”拼接底层实现原理 曾见...原创 2018-06-26 17:19:32 · 6090 阅读 · 3 评论 -
Integer.bitCount ()的源码实现
这篇文章接着我的二进制中一的个数源码如下:public static int bitCount(int i) { // HD, Figure 5-2 i = i - ((i >>> 1) & 0x55555555); i = (i & 0x33333333) + ((i >>> 2) &am...原创 2018-06-27 07:59:24 · 475 阅读 · 0 评论