首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
三餐吃到饱1
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
经典面试题:怎么把一个对象交给spring
但是这个做法有个弊端,就是这个做法要么再spring初始化之前,要么再spring初始化之后。如果再spring初始化之前使用这个方式,那么这个别的bean就无法依赖这个的bean,但是如果在spring初始化之前,那么这个bean就无法依赖spring中的其他bean。 My…
ReentrantReadWriteLock
关于重入锁,读写不可以重入,这个是为什么,因为假如读写可以重入,可能会造成死锁。 4.如果c等于零,也就是还未被加锁,如果是公平公锁会先去判断是否需要排队,如果是非公平锁就没有排队的判断,不需要排队,就通过cas去修改c,cas成功就会设置持有锁的线程为当前线程,加锁成功。 调…
java 8 ConcurrentHashMap 源码详解
10.需要注意点是在往数组添加头节点是通过cas来保证线程安全,在往链表和红黑树添加节点的时候是通过在头节点上加synchronized锁,有别于1.7的ConcurrentHashMap通过ReentrantLock来锁住segment,用的锁和锁的对象都不一样。 增加了Tr…
java 8 HashMap 源码解析
7.第三个id:就是链表。会遍历链表,如果链表已经有8个,插入第九个会通过treeifyBin转为红黑树。遍历链表的同时也会判断是否有hash一样的节点,如果有就会覆盖value 8.当插入的逻辑走完,在最后就会判断是否需要扩容,条件就是容器大小大于阈值。这个点跟1.7不一样,…
@RequestParam和 @RequestBody的区别
同同:在mvc开发中都是可以用来接收前端参数不同@RequestParam1.通过request.getParameter()获取keyvalue封装成字段或者参数2.get和post都可以获取到@R
貌似简单的红黑树
总结: 红黑树的变化大概就这几种情况,万变不离其中,但是要先了解什么是左旋,什么是右旋。
Java7 ConcurrentHashMap源码详解
4.HashEntry数组长度的获取有三步。a. c=initialCapacity / ssize 期望总的大小除以Segment的大小,表示每个Segment的HashEntry长度至少为c b.如果c * ssize < initialCapacity ,就是 …
java7 HashMap 源码详解
测试可知Integer.highestOneBit获得的结果 1.二的幂次方 2.大于等于传入值 。点进入看下源码实现 总结:highestOneBit 1.右移动+或运算的目的是将所有位改为1 这个称为全1 2.i - (i >>> 1) 首先 i >>> 1的目的是获取比全…
ReentrantLock 解锁过程源码详解
从哪里park就从哪里unpark,所以需要了解加锁的过程。上一篇文件有涉及到加锁
ReentrantLock 加锁过程源码详解
AbstractQueuedSynchronizer 翻译过来是抽象队列同步 是不是意味着aqs内部维护中一个队列。 总结:tryAcquire 1.会尝试获取锁,通过判断当前队列头节点是否是当前想要获取锁的线程,如果是就尝试获取锁。2.如果获取到锁就做两件事情,a.通过cas…
下一页
个人成就
文章被点赞
15
文章被阅读
29,328
掘力值
696
关注了
2
关注者
6
收藏集
0
关注标签
1
加入于
2020-06-28