首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
单人旁的小何
掘友等级
程序员
逃避有用但是可耻
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
最新
热门
jdk1.8并发集合源码分析系列-CopyOnWriteArrayList和CopyOnWriteArraySet
官网介绍CopyOnWriteArrayList是一个ArrayList的线程安全的版本的实现,但是它保证线程安全的原理是add和set这系列写操作都是通过复制一个数组的副本来实现的,但是这也带来了高昂的性能消耗。 接口继承图和ArrayList一模一样,之前我们已经分析过了,…
jdk1.8集合源码分析系列-6-HashSet
首先是set接口,我们看下接口的方法其实可以发现,它定义的所有接口都来自Collection,并没有定义任何属于它的新接口。其实看Collection就可以了 原来HashSet是通过HashMap来实现的,数据结构和HashMap也是一致,它把HashMap的KeySet作为…
jdk1.8集合源码分析系列-5-ArrayDeque
先进先出,这个是队列的特点,它和堆栈相反,堆栈是先进后出。 队头,队尾指针,分别指向头部元素和尾部元素位置,我们常常看到的xxFirst,xxLast操作就会用到这个指针。 假溢出问题,上图就演示了一个假溢出问题,虽然有存储空间,但是队尾指针超出范围,就会发生“假溢出”。 顺序…
jdk1.8集合源码分析系列-4-Vector和Stack
为什么要把vector和stack一起来分析,因为在jdk容器的源码来说,stack是继承vector,并且代码也比较少,所以vector和stack一起来看一下。 看到这个图是不是非常熟悉,和之前分析的arraylist一模一样。arraylist的接口继承图如下: 那具体的…
jdk1.8集合源码分析系列-3-HashMap
在了解hashMap之前,我们先来简单的回顾一下hash表这种数据结构。 装填因子:装填因子=元素个数/哈希表空间长度m。很显然,装填因子越大,冲突越容易发生。 哈希函数:当发生hash冲突的时候,使用哪种hash函数实现进行元素存储的路由。最常用到的就是“除模法”。 处理ha…
jdk1.8集合源码分析系列-2-LinkedList
老规矩,先看一下整个接口继承图。 这里一些重复的接口我们就不继续分析了,可以看这里的分析。 这个接口封装着队列接口的常见操作,但是并没有定义队列阻塞的相关方法,这些方法被定义在BlockingQueue接口里面。 deque 是“double ended queue”的缩写,代…
jdk1.8集合源码分析系列-1-ArrayList
看接口的时候,特别简单的我们不必赘述,有一些小的细节我们会在方法上标记出来。 另外父类接口和lambda方法会被省略掉。 这是一个标记接口,实现它代表你是否支持深复制。深复制和浅复制这里不赘述,感兴趣的同学可以搜索相关资料。我们可以通过调用其clone方法获取一个深复制的实例。…
个人成就
文章被点赞
5
文章被阅读
2,090
掘力值
141
关注了
1
关注者
4
收藏集
0
关注标签
4
加入于
2020-05-01