源码阅读
烫手的砖
开发者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ThreadLocal使用包括子线程传递实例
1.ThreadLocal的使用主要用于不同线程操作不安全变量时的线程保护 2.ThreadLocal=为Thread提供独有的ThreadLocalMap变量,通过Entry[] table方式存储线程本地变量 3.Thread持有ThreadLocal的引用,所以ThreadLocal需要设置成虚引用避免内存溢出,同时提供删除entry操作避免value值的内存溢出 代码示例 package com.myzy.auth.reetrantlock; public class TestThreadLoca原创 2022-04-06 22:44:22 · 1039 阅读 · 0 评论 -
ReetrantReadWriteLock源码要点(面试必备)
** 1.writeLock ** 只需要判断状态C是否有读锁或者写锁 ** 2.readLock ** 判断是否拿到锁,有一下几点: 是否有写锁 是否有写锁在排队首(为了防止写锁被饿死,因为读锁一般可以获取到锁) 是否达到读锁最大限制 抢锁修改高16位,读锁状态,是否成功? 读写锁使用同一个队列,状态C高16位记录读锁状态也是读锁个数,低16位记录写锁状态 ** * 以上是本人在学习过程中记录的东西,希望对你有用!!!!! ** ...原创 2022-04-04 22:49:52 · 374 阅读 · 0 评论 -
源码阅读List
源码阅读-JDK list(一) 首先查看List接口的上下继承关系。 查看第一个方法: 1.通过其实现类来学习这个方法: 实现类方法很多,首先通过常用的arrayList来学size()方法 arraylist中返回的是这个size属性值 在arraylist发生crud的时候会对这个值进行同步修改。 **1. **add方法,调用重载的add方法,传入添加的新元素,当前数组引用,当前数组长度, 然后通过grow()方法后添加元素,然后容量 size=s+1,自增。 2.remove(int in原创 2021-01-31 21:59:58 · 194 阅读 · 0 评论
分享