自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dylaniou的博客

想写一首关于世界的诗,以编程的方式~

  • 博客(3)
  • 资源 (9)
  • 收藏
  • 关注

翻译 让星星⭐月亮告诉你,Java二叉查找树的基本实现

二叉树可分为满二叉树、完全二叉树、平衡二叉树(二叉查找树)、最优二叉树(哈夫曼树),此篇代码实现的是二叉查找树(左右子树深度之差的绝对值不超过1待实现)。 package unittest; import java.util.Arrays; class Person implements Comparable<Person>{ private String name; private int age; Person(String name,int age){ this.name =

2020-07-29 14:27:07 115

翻译 让星星⭐月亮告诉你,Java之ThreadLocal

package unittest.jdk8newfeature; class Message{ String info; public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } } class Channel{ private final static ThreadLocal THREADLOCAL = new ThreadLocal(); public static vo

2020-07-28 21:24:26 125

原创 让星星⭐月亮告诉你,自定义定时器和Java自带原生定时器

一. 定时器概述 何为定时器? ①就像可以设置闹钟的时钟一样。当我们往时钟里添加一个闹钟时,可以设置闹钟的首次执行时间、执行间隔时间、备注、是否启动等属性。 ②一个时钟可以设置多个不同的闹钟,每个闹钟可以有各自的首次执行时间、执行间隔时间、备注、是否启动等属性。 ③当闹钟响起后,如果我们不手动关闭该闹钟,那么它将会按照设定的执行间隔时间,一直持续执行下去,除非时钟电量耗尽。 就如同一个可以设置闹钟的时钟一样,定时器有如下特性: ①往定时器添加一个任务(就如同时钟上的闹钟)时,可以设置任务的首次执行时间、执

2020-07-01 10:21:32 253

(003)HashMap中红黑树TreeNode的split方法源码解读.docx

HashMap中红黑树TreeNode的split方法源码解读,对split方法源码的上下文/变量定义,及所调用的关键方法都给出了详细解释说明,欢迎指正

2020-06-20

(002)HashMap$TreeNode之往红黑树添加元素-putTreeVal方法.docx

HashMap之往红黑树添加元素-putTreeVal方法源码解读:当要put的元素所在数组索引位置已存在元素,且是红黑树类型时,就会调用putTreeVal方法添加元素到红黑树上,具体操作步骤如下: 1. 从根节点开始,到左右子树,层层递进,遍历红黑树,找到用于存放元素的合适位置;2.将元素放入指定位置,并修改链表/红黑树相关节点的前prev后next父parent子(left/right)指向;3.平衡红黑树;4.保证红黑树根节点是链表头节点

2020-06-18

从底层数据结构和CPU缓存两方面剖析LinkedList的查询效率为什么比ArrayList低.docx

从底层数据结构和CPU缓存两方面剖析LinkedList的查询效率为什么比ArrayList低。以前只直到数据结构会影响两者的查询效率,偶然间得知cpu缓存(硬件级别)也会有影响

2020-06-17

HashMap之put方法源码解读.docx

对HashMap的put方法的源码进行详细解读,分析put方法源码中的内在逻辑关系,欣赏源码独特之美,从中学习更为精致的编程思维

2020-06-17

HashMap在put数据时是如何找到要存放的位置的?.docx

分析HashMap在put数据时是如何找到要存放的位置的,对决定位置的hashCode计算方法进行详细解释,分析为啥要用高低16位异或运算,以及数组长度是如何影响元素存放位置的

2020-06-17

HashMap之resize()方法源码解读.docx

HashMap之resize()方法源码解读,分两部分概述扩容方法涉及到的处理:创建新数组,将旧数组元素转移到新数组上

2020-06-17

(006)HashMap$TreeNode确保根节点为头节点的moveRootToFront方法源码解读.docx

HashMap$TreeNode确保根节点为头节点的moveRootToFront方法源码解读,分析其各个步骤,并配有示意图

2020-06-17

HashMap扩容时的rehash方法中(e.hash & oldCap) == 0算法推导.docx

对HashMap扩容时重新计算旧数组元素在新数组地址的rehash方法中的(e.hash&oldCap)==0算法推导

2020-06-17

(001)HashMap之链表转红黑树-treefyBin方法.docx

详细解读了HashMap中链表转红黑树的treefyBin方法,该方法中涉及到的诸如:replacementTreeNode方法、treeify方法、comparableClassFor方法、compareComparables方法、tieBreakOrder方法、balanceInsertion方法、moveRootToFront 方法、rotateLeft方法、rotateRight方法、checkInvariants 方法均有详细解读

2020-06-17

空空如也

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

TA关注的人

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