自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (4)
  • 收藏
  • 关注

原创 HashMap源码分析JDK8:tieBreakOrder方法

分析新增节点key的类在定义时没有实现Comparable接口或者新增节点key实现了Comparable接口但是与当前节点还是compareTo不出结果,那么就动用这个方法来最终决定dir是正是负。源码分析 /** * 为什么说这个方法能最终决定dir的正、负, * 因为它只有-1、1两种输出结果 * * 参数a:新增节点的key * 参数b:当前节点的key */ ...

2019-12-25 16:31:31 385

原创 HashMap源码分析JDK8:compareComparables方法

源码分析 /** * 参数kc:新增节点key的类型 * 参数k:新增节点的key * 参数x:当前节点的key */ @SuppressWarnings({"rawtypes","unchecked"}) static int compareComparables(Class<?> kc, Object k, Object x...

2019-12-25 16:28:17 426

原创 HashMap源码分析JDK8:comparableClassFor方法

源码分析 /** * Returns x's Class if it is of the form "class C implements * Comparable<C>", else null. * * 如果x的类的形式为“Class C implements Comparable<C>”,则返回x的类型 * 否则返回null ...

2019-12-25 16:27:44 219

原创 HashMap源码分析JDK8:getNode方法

源码分析 /** * Implements Map.get and related methods * * @param hash hash for key * @param key the key * @return the node, or null if none */ final Node<K,V> getN...

2019-12-24 10:24:22 374

原创 HashMap源码分析JDK8:putVal方法

HashMap底层数据结构插入的所有情况源码分析 /** * 实现Map接口的put方法和相关功能 * * 参数hash:新增键值对中key的哈希值 * 参数key:新增键值对的键key * 参数value:新增键值对的值value * 参数onlyIfAbsent: 如果是true,不改变键值对中的旧值 * 参数ev...

2019-12-24 10:20:38 228

原创 HashMap源码分析JDK8:treeifyBin方法

HashMap底层数据结构源码分析 /** * 在满足一定条件的情况下,将链表转换成红黑树 * * 形参tab:成员变量table * 形参hash:新增键值对中key的hash值 */ final void treeifyBin(Node<K,V>[] tab, int hash) { int n, index; ...

2019-12-24 10:20:23 555

原创 数组、链表、二叉树、二叉排序树、红黑树时间复杂度

查找时间复杂度不论是数组、链表还是二叉树、二叉排序树(搜索树)、红黑树,我们要找到其中特定的一个元素,方法只有一个那就是挨个比较直到找到为止,这就造成了查找的时间复杂度总是与N有关系。数组链表二叉树二叉排序树红黑树查找O(N)O(N)O(N)O(log N)~O(N)O(log N)数组:特指无序数组。假设数组中有N个元素,我们要找到其中一个特定的元...

2019-12-24 09:10:36 5665

原创 哈希(hashtable)表,查找方式的颠覆者!

目录前言 前言这是这个系列的最后一篇文章,从最开始的二叉树,到二叉排序树(搜索树),再到红黑树。与哈希表(Hash table)结缘也是在分析JDK1.8以后HashMap源码的时候,之后为了学习红黑树,又把而二叉树、二叉排序树(搜索树)复习了一遍,并促成了这个系列的文章。关于红黑树,在经典的数据结构与算法书籍《Java数据结构和算法(第二版)》、《算法导论(第三版)》都有详细介绍。原书...

2019-12-23 10:24:06 311

原创 HashMap源码分析JDK8:balanceInsertion方法

一、插入的所有情况二、源码static <K,V> TreeNode<K,V> balanceInsertion(TreeNode<K,V> root,TreeNode<K,V> x) { //新插入树节点默认红色 x...

2019-12-20 17:13:56 334

原创 言简意赅,url干嘛的?

目录一、url干嘛的二、url怎么看三、url的语法1.方案2.主机3.路径4.查询四、url快捷方式1.绝对url2.相对url3.自动扩展url五、url字符集 一、url干嘛的我们把互联网比作一个巨大的城市,那么互联网资源就是其中的电影院、便利店、火车站,为我们提供各种各样的服务。那我们怎样才能找到这座城市中的某个电影院呢?当然是要有地址,类比一下,url在互联网中也是起到这个作用,方...

2019-12-15 13:22:22 591

原创 SqlServer左连接、右连接、全连接、外连接、内连接

目录一、外连接1.左连接2.右连接3.全连接三、内连接写法一写法二 Student表:Score表:一、外连接外连接分为左连接(LEFT JOIN)或左外连接(LEFT OUTER JOIN),右连接(RIGHT JOIN)或右外连接(RIGHT OUTER JOIN),全连接(FULL JOIN)或全外连接(FULL OUTER JOIN)。我们简称:左连接、右连接和全连接。1....

2019-12-06 10:51:46 16252 1

原创 SQL,什么时候用自身连接????

目录 以前在学数据库的各种连接时,觉得这个自连接是最没有使用价值的,但是最近在用SpingBoot写接口的时候,有接触到一个表的自连接。这个表是一个签约人表(实际上有很多字段,这个我省略一部分)...

2019-12-05 17:14:56 1297

原创 添加svn资源库

第一步:第二步:第三步:第四步:输入别人给你的URL第五步:

2019-12-02 17:38:54 437 1

原创 STS(Spring tool suite)添加SVN插件

目录 1.

2019-12-02 17:03:52 847

JDK5HashMap源码

想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。 想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

2020-04-13

JDK6HashMap源码

精确的版本号是jdk-6u45。想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

2020-04-13

JDK7HashMap源码

精确的版本号是jdk-7u80。想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

2020-04-13

JDK8HashMap源码

精确的版本号是jdk-8u181。想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

2020-04-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除