首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
RoadTrip
掘友等级
Java后端
|
OPPO
~~
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
7
文章 6
沸点 1
赞
7
返回
|
搜索文章
最新
热门
ConcurrentLinkedQueue源码分析
在并发编程中,我们可能经常需要用到线程安全的队列,JDK提供了两种模式的队列:阻塞队列和非阻塞队列。阻塞队列使用锁实现,非阻塞队列使用CAS实现。ConcurrentLinkedQueue是一个基于链表实现的无界线程安全队列,对于。下面看看JDK是如何使用非阻塞的方式来实现…
CopyOnWriteList实现细节
还是先贴上CopyOnWriteList的继承体系吧,可以看到其实现了Serializable、Cloneable和RandomAccess接口,具有随机访问的特点,实现了List接口,具备List的特性。 我们单独看一下CopyOnWriteList的主要属性和下面要…
LinkedList源码分析(jdk1.8)
LinkedList是非线程安全的集合类,并发环境下,多个线程同时操作 LinkedList,会引发不可预知的异常错误。 直接通过idea查看一下LinkedList的继承体系,体系结构比较复杂,一点点看。 这里简单说一下AbstractSequentialList这个…
ArrayList源码分析(扩容机制jdk8)
(1)ArrayList 是一种变长的集合类,基于定长数组实现。 (2)ArrayList 允许空值和重复元素,当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个更大的数组。 (3)由于 ArrayList 底层基于数组实现,所以其可以…
Java多线程面试基础篇
本篇主要是详细的总结了一下Java中的多线程基础知识点,其中包括Java线程状态、线程创建、停止线程、守护线程、Thread类的方法原理区别、synchronized关键字原理与使用、线程协作方式、自定义线程池实现、锁优化、生产者消费者模型、缓存一致性和Java内存模型之间…
深入理解HashMap(jdk7)
jdk1.7的HashMap采用数组+单链表实现,尽管定义了hash函数来避免冲突,但因为数组长度有限,还是会出现两个不同的Key经过计算后在数组中的位置一样,1.7版本中采用了链表来解决。 从上面图中也知道实际上每个元素都是Entry类型,所以下面再来看看Entry中…
基于ReentrantLock中的NoFairSync理解Java中的AQS
AbstractQueuedSynchronizer抽象队列同步器简称AQS,它是实现同步器的基础组件,juc下面Lock的实现以及一些并发工具类就是通过AQS来实现的,这里我们通过AQS的类图先看一下大概,下面我们总结一下AQS的实现原理。先看看AQS的类图。 (1)…
深入理解HashMap(jdk8)
因为主要说的是1.8版本中的实现。而1.8中HashMap是数组+链表+红黑树实现的,大概如下图所示。后面还是主要介绍Hash Map中主要的一些成员以及方法原理。 那么上述图示中的结点Node具体类型是什么,源码如下。Node是HashMap的内部类,实现了Map.E…
个人成就
文章被点赞
117
文章被阅读
30,718
掘力值
758
关注了
22
关注者
68
收藏集
5
关注标签
14
加入于
2018-10-10