注册登录
产品
社群
使用“Bing”搜本站
使用“Google”搜本站
使用“百度”搜本站
✓
站内搜索
注册登录
问答
博客
资讯
标签
用户
活动
极客观点
项目管理
HarmonyOS
开发者社区
热门标签
javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员
ONES 研发管理
思否企业问答
安谋科技 XPU
问答
博客
资讯
标签
用户
活动
极客观点
项目管理
HarmonyOS
开发者社区
热门标签
javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员
ONES 研发管理
思否企业问答
安谋科技 XPU
df007df
95
获赞数
5
关注数
64
粉丝数
关注他
发私信
杭州
[email protected]
IP 属地未知
2014-04-25 加入
浏览 12.6k
举报
屏蔽
主页
回答
提问
文章
57
更多
Java,源码分析,敏捷开发, PM
前阿里巴巴员工,阿里云和菜鸟的后端开发。
317 声望
|
学徒
全站排名超越 95% 用户
java
105
php
101
xdebug
64
java并发
35
arraylist
35
1
黄金勋章
归零进一
白银勋章
暂未获得该勋章
如何获得
2
青铜勋章
见多识广
自传作者
个人动态
发布了文章
2022-05-25
Move the blog to CSDN
df007df
Move the blog to CSDN
发布了文章
2022-05-25
Move the blog to CSDN
df007df
发布了文章
2022-05-23
《将博客搬至CSDN》
df007df
为什么发布出去啊啊啊
发布了文章
2022-05-18
将博客搬至CSDN
df007df
将博客搬至CSDN
发布了文章
2020-03-29
将-博?客1搬@至3 “C@”S“#D”N#
df007df
AFlux<T>is a standardPublisher<T>that represents an asynchronous sequence of 0 to N emitted items, optionally terminated by either a completion signal or an error. As in the Reactive Streams spec, these three types of signal translate ...
发布了文章
2019-09-02
[学习笔记-Java并发源码-2] volatile的实现原理
df007df
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。
发布了文章
2019-08-31
[学习笔记-Java并发源码-1] synchronized的实现原理
df007df
在Java中,如果一遇到多线程情况需要解决,我们想到最多的可能就是synchronized。或者叫它“同步”,很早以前或许synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们慢慢摒弃它。
发布了文章
2019-08-31
[学习笔记-Java并发源码] 目录
df007df
本系列开始记录针对java并发体系的相关源码学习。大部分来之网络内容,只是自己整理与总结之用。 synchronized synchronized的实现原理 volatile的实现原理 AQS
发布了文章
2019-08-24
[学习笔记-Java集合-17] Queue - DelayQueue源码分析
df007df
介绍 DelayQueue是java并发包下的延时阻塞队列,常用于实现定时任务。 继承体系 从继承体系可以看到,DelayQueue实现了BlockingQueue,所以它是一个阻塞队列。 另外,DelayQueue还组合了一个叫做Delayed的接口,DelayQueue中存储的所有元素必须实现Delayed接口。 那...
发布了文章
2019-08-22
[学习笔记-Java集合-16] Queue - LinkedBlockingQueue源码分析
df007df
介绍 LinkedBlockingQueue是java并发包下一个以单链表实现的阻塞队列,它是线程安全的,至于它是不是有界的,请看下面的分析。 源码分析 主要属性 {代码...} capacity,有容量,可以理解为LinkedBlockingQueue是有界队列 head, last,链表头、链表尾指针 takeLock,n...
发布了文章
2019-08-21
[学习笔记-Java集合-15] Queue - ArrayBlockingQueue源码分析
df007df
介绍 ArrayBlockingQueue是java并发包下一个以数组实现的阻塞队列,它是线程安全的,至于是否需要扩容,请看下面的分析。 队列 队列,是一种线性表,它的特点是先进先出,又叫FIFO,就像我们平常排队一样,先到先得,即先进入队列的人先出队。 源码分析 主要属性 {代...
发布了文章
2019-08-20
[学习笔记-Java集合-14] Queue - PriorityQueue源码分析
df007df
介绍 优先级队列,是0个或多个元素的集合,集合中的每个元素都有一个权重值,每次出队都弹出优先级最大或最小的元素。 一般来说,优先级队列使用堆来实现。 源码分析 主要属性 {代码...} 默认容量是11; queue,元素存储在数组中,这跟我们之前说的堆一般使用数组来...
发布了文章
2019-08-18
[学习笔记-Java集合-13] Set - ConcurrentSkipListSet源码分析
df007df
可以看到,ConcurrentSkipListSet基本上都是使用ConcurrentSkipListMap实现的,虽然取子set部分是使用ConcurrentSkipListMap中的内部类,但是这些内部类其实也是和ConcurrentSkipListMap相关的,它们返回ConcurrentSkipListMap的一部分数据。
发布了文章
2019-08-18
[学习笔记-Java集合-12] Set - CopyOnWriteArraySet源码分析
df007df
但是,我们知道CopyOnWriteArrayList底层其实是一个数组,它是允许元素重复的,那么用它来实现CopyOnWriteArraySet怎么保证元素不重复呢?
发布了文章
2019-08-18
[学习笔记-Java集合-11] Map - ConcurrentSkipListMap源码分析
df007df
介绍 跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。 跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。 跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。 存储结构 跳表在原有的有序链表上面增加了多级索引...
发布了文章
2019-08-17
[学习笔记-Java集合-10] Set - LinkedHashSet源码分析
df007df
介绍 上一节我们说HashSet中的元素是无序的,那么有没有什么办法保证Set中的元素是有序的呢? 答案是当然可以。 LinkedHashSet就有这个功能,它是怎么实现有序的呢? 源码分析 LinkedHashSet继承自HashSet,让我们直接上源码来看看它们有什么不同。 {代码...} 完了,...
发布了文章
2019-08-17
[学习笔记-Java集合-9] Set - HashSet源码分析
df007df
简介 集合,这个概念有点模糊。 广义上来讲,java中的集合是指java.util包下面的容器类,包括和Collection及Map相关的所有类。 中义上来讲,我们一般说集合特指java集合中的Collection相关的类,不包含Map相关的类。 狭义上来讲,数学上的集合是指不包含重复元素的容...
发布了文章
2019-08-17
[学习笔记-Java集合-8] Map - ConcurrentHashMap 源码分析(二)
df007df
删除元素 删除元素跟添加元素一样,都是先找到元素所在的桶,然后采用分段锁的思想锁住整个桶,再进行操作。 {代码...} 计算hash; 如果所在的桶不存在,表示没有找到目标元素,返回; 如果正在扩容,则协助扩容完成后再进行删除操作; 如果是以链表形式存储的,则遍...
发布了文章
2019-08-17
[学习笔记-Java集合-7] Map - ConcurrentHashMap 源码分析(一)
df007df
synchronized java中的关键字,内部实现为监视器锁,主要是通过对象监视器在对象头中的字段来表明的。 synchronized从旧版本到现在已经做了很多优化了,在运行时会有三种存在方式:偏向锁,轻量级锁,重量级锁。 偏向锁,是指一段同步代码一直被一个线程访问,那么这...
发布了文章
2019-08-14
[学习笔记-Java集合-6] Map - WeakHashMap源码分析
df007df
WeakHashMap是一种弱引用map,内部的key会存储为弱引用,当jvm gc的时候,如果这些key没有强引用存在的话,会被gc回收掉,下一次当我们操作map的时候会把对应的Entry整个删除掉,基于这种特性,WeakHashMap特别适用于缓存处理。
标签得分
暂无数据
获得勋章
暂无数据
声望记录
暂无数据