自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap源码分析

JDK 1.7中使用的是数组+链表,JDK 1.8中,HashMap底层的数据结构是:数组+链表+红黑树。其中当链表的长度大于等于 8 时,链表会转化成红黑树,当红黑树的大小小于等于 6 时,红黑树会转化成链表,整体的数据结构如下: 图中左边竖着的是 HashMap 的数组结构,数组的元素可能是单个 Node,也可能是个链表, 也可能是个红黑树。 换一张图,HashMap内部的结构,它可以看作是数组(Node[] table)和链表结合组成的复合结构,数组被分为一个个桶(bucket),通过哈希值决定了键

2020-06-25 13:11:22 115

原创 设计模式的六大原则分析

设计模式就是在软件开发过程中所总结形成的一系列准则。当我们遇到一些场景的时候,使用恰当的设计模式可以使得软件设计更加健壮,增强程序的扩展性。 设计模式的六大原则如下: 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 里氏替换原则 迪米特法则 一、开闭原则(Open Close Principle,OCP): 开闭原则是指一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。也就是说,通过开闭原则,我们可以通过扩展行为来实现新的功能,而不是通过修改已有的代码。开闭原则可以

2020-06-24 20:44:02 139

转载 TreeMap源码分析

TreeMap TreeMap是基于红黑树结构实现的一种Map。红黑树是一种自平衡二叉查找树。 二叉查找树 若左子树不为空,则左子树上所有节点的值均小于它的根节点的值; 若右子树不为空,则右子树上所有节点的值均大于它的根节点的值; 左、右子树也分别为二叉查找树; 没有键值相等的节点。 TreeMap 利用了红黑树左节点小,右节点大的性质,根据 key 进行排序,使每个元素能够插入到红黑树大小适当的位置,维护了 key 的大小关系,适用于 key 需要排序的场景。因为底层使用的是红黑树的结构(平衡树),所

2020-06-23 20:21:20 81

原创 在ubuntu16.04下配置eclipse+tomcat+jdk+mysql+maven

在ubuntu16.04下配置eclipse+tomcat+jdk+mysql+maven 前言 本教程的实验环境是ubuntu16.04.4版本,其他版本的可能会略有不同,但总体影响不大。 ubuntu各个版本镜像的下载地址:https://www.ubuntu.com/download/alternative-downloads VMware虚拟机百度云下载链接:https://pan.bai...

2019-09-09 10:51:24 265 1

空空如也

空空如也

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

TA关注的人

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