自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 ConcurrentHashMap底层实现原理

node节点static class Node<K,V> implements Map.Entry<K,V> { //Node 节点final int hash; //哈希值final K key; //键volatile V val;//值volatile Node<K,V> next; //下一节点 Node(int hash, K key, V val, Node<K,V> next) { //构造函数 this

2020-12-02 23:14:11 190

原创 CopyOnWriteArrayList源码解析

创建CopyOnWriteArrayList共3个构造函数。 //创建空的CopyOnWriteArrayList对象 public CopyOnWriteArrayList() { setArray(new Object[0]); } //创建含有指定Collection的元素的CopyOnWriteArrayList public CopyOnWriteArrayList(Collection<? extends E> c) {

2020-12-02 22:53:32 119

原创 Hashmap底层源码实现

基本属性// 默认容量16static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // 最大容量static final int MAXIMUM_CAPACITY = 1 << 30; // 默认负载因子0.75static final float DEFAULT_LOAD_FACTOR = 0.75f; // 链表节点转换红黑树节点的阈值, 9个节点转static final int TREEIFY_

2020-12-02 22:23:43 86

原创

【1】公平所和非公平所。公平锁:是指按照申请锁的顺序来获取锁,非公平所:线程获取锁的顺序不一定按照申请锁的顺序来的。//默认是不公平锁,传入true为公平锁,否则为非公平锁ReentrantLock reentrantLock = new ReetrantLock();12【2】共享锁和独享锁独享锁:一次只能被一个线程所访问共享锁:线程可以被多个线程所持有。ReadWriteLock 读锁是共享锁,写锁是独享锁。【3】乐观锁和悲观锁。乐观锁:对于一个数据的操作并发,是不会发生修改的

2020-11-26 20:43:43 64

原创 进程与线程

进程与线程关系一个程序就是一个进程,而一个程序中的多个任务则被称为线程。进程是表示资源分配的基本单位,又是调度运行的基本单位。,亦即执行处理机调度的基本单位一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位如果把上课的过程比作进程,把老师比作CPU,那么可以把每个学生比作每个线程,所有学生共享这个教室(也就是所有线程共享进程的资源),上课时学生A向老师提出问题,老师对A进行解答,此时可能会有学生B对老师的解答不懂会提出B的疑问(注意:此时可

2020-11-26 20:16:55 64

原创 ReentrantLock底层源码实现

ReentrantLock底层源码实现NonFairSync继承了Sync:尝试立即去加锁,如果锁状态拿到锁之后,调用setExclusiveOwnerThread,哪个线程正在执行,如果没有人持有锁,就换成1,并获知哪个线程持有锁。如果持有到了锁,调用acquire(arg)锁状态方法(expect、update):比较并设置状态(AQS底层实现是用CAS),其实是调用CAS过程,比较并设置锁状态——针对当前这个锁对象,加一个锁状态,然后记住哪一个线程加上了锁状态,以后就可以改变这个对象了。如果没加上

2020-11-26 20:14:47 138

原创 Arraylist源码解析

package java.util;public class ArrayList extends AbstractListimplements List, RandomAccess, Cloneable, java.io.Serializable{// 序列版本号private static final long serialVersionUID = 8683452581122892189L;// 默认容量大小private static final int DEFAULT_CAPACITY

2020-11-09 19:44:18 82

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除