- 博客(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
空空如也
JSP+servlet 的Echart图 (菜鸡) 求解答
2017-11-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人