自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 锁:CAS原理解析

锁可以分为乐观锁(CAS)和悲观锁(synchronized)。乐观锁:CAS(自旋锁): CAS是从乐观的角度出发,尝试用新值更新内存值,更新时会判断内存值是否被别人修改过,如果没有则直接更新。如果被修改过,则重新获取最新值再继续尝试更新,直到更新成功为止,所以CAS方式也称自旋锁。CAS原理: CAS(Compare And Set 或 Compare And Swap),即比较并修改的意思。CAS技术可以保证操作的原子性,atomic包下的原子类都是基于...

2021-09-24 15:18:03 6098 1

原创 TreeSet进行排序的方法

TreeSet进行排序的方法的方法有两种,分别是一种是类实现Comparable<>方法,重写compareTo(Object o)方法public class Demo1 { public static void main(String[] args) { Student s1 = new Student("张三",25); Student s2 = new Student("李四",18); Student s3 = new

2021-09-24 10:07:00 8397 3

原创 HashSet底层存储原理

JDK7版本时:默认储存数组长度为16个空间1.先根据hashCode计算出元素所在索引,如果索引位置上没有元素,则添加元素进去2.根据equals方法判断元素是否相同,如果同一索引相同,但是元素不相同,可以在同一索引后面添加链表,把元素添加进去(哈希冲突);如果索引相同,元素相同,那么不添加,这就是HashSet的去重机制3.然后遍历是通过从第一个索引开始遍历到最后JDK8开始:开始默认长度为16,超过8之后,就开始用数组+链表+红黑树的结构来储存元素当数组元素超过75%的时候,数

2021-09-24 09:50:16 201

原创 ArrayList构造函数源码分析

无参构造函数/** * Constructs an empty list with an initial capacity of ten. */ public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }底层数组其实是:Object[] elementData,然后构造无参构造函数的时候,使用空参构造方法创建ArrayList对象时,会初始化 eleme

2021-09-11 18:06:28 271

空空如也

空空如也

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

TA关注的人

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