自定义博客皮肤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)
  • 问答 (1)
  • 收藏
  • 关注

转载 JDK1.8HashMap源码分析

在前面的1.7中介绍了HashMap是由数组加链表的数据结构组成,1.8之后为了让put、get操作变得更有效率,引入了红黑树。红黑树让我想到了我在数据结构中学习的AVLTree(二叉平衡树),但是红黑树和二叉平衡树虽然都是树形结构,但区别还是很大的。 红黑树有以下五个特性:1.节点是红色或黑色。2.根节点是黑色。3.每个叶子节点都是黑色的空节点。4 每个红色节点的两个子节点都是黑色。5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。 这种情况就...

2020-06-03 01:09:04 277

原创 ConcurrentHashMap 1.7源码解析

因为HashMap中是线程不安全的,因此java又设计了HashTable和ConcurrentHashMap这两个类。 先说说HashTable在多线程中HashTable为了保证线程安全,在put方法和get方法都加入了synchronized锁,这种锁会导致在线程之间的锁竞争激烈的时候,没有获取到锁的情况下,线程等待的时间过长,所以HashTable在多线程的操作中效率尤为低下,不适合开发的使用。 ConcurrentHashMap特有的机制在高...

2020-06-02 14:05:33 201

原创 JDK1.7 HashMap源码解析

在jdk1.7中,HashMap底层数据结构是由数组和链表构成,数据存放Entry对象,而Entry对象是对链表头部第一个元素的引用。ArrayList中add方法是通过下标的累加进行数据的插入,HashMap则不同,若向ArrayList一样则会造成HashMap在get(key)时需要一个一个去遍历数组获取对应的key从而取值,而不是像ArrayList一样直接通过get(index)获取值,这样会使HashMap效率低下。 HashMap通过获取key的HashCode值,而Ha...

2020-05-28 23:26:57 208

原创 OSI 七层网络模型

两台主机间通信的大概流程,如下 2.详细解释应用层以外的作用。 物理层:光缆、电缆、双绞线、无线电波等传输介质。 数据链路层:根据以太网协议,存储数据帧,每一个数据包包含head和data两部分,head又包含源MAC地址和目标MAC地址以及数据类型,data存储数据。MAC地址是每台计算机唯一网卡通信地址,由12位16进制的数组成。 网络层:在局域网中,两台主机通过广播的形式进行通信,而在万维网中,无法通过广播进行通信,因...

2020-05-28 11:32:35 236

空空如也

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

TA关注的人

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