自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编发编程的学习

4.先去tryAcquire,tryAcquire也是AQS中的方法,ReenTrantLock重写了该方法,分别为tryAcquire、nonfairTryAcquire,这里走nonfairTryAcquire,这是非公平锁lock的大致过程。公平锁的区别在于队列中已有节点时需要加入到队列中等待抢锁。2.先用cas抢占,成功了直接将state设置成1,并设置当前线程为锁线程,抢占成功;3.没有cas成功,则到了下一步acquire。调用lock方法(以非公平为例)

2024-03-05 09:58:24 526

原创 JVM相关总结

1. GC流程:Eden区->Survivor区->old区。应用GC ROOT作为引用,向下寻找,看某个对象是否可达。并行:parallel 和parallel old。在应用程序中持有该对象的引用,则不是垃圾,否则是。串行:serial和serial old。以上两种都是在回收时,需要停止应用程序。在回收时,不需要停止应用程序。哪些对象算是垃圾,怎么看?缺点:空间碎片不连续。

2024-03-03 11:22:47 730 1

原创 mysql学习记录

2.生成快照,即:Multi Version concurency control(MVCC),原理每行数据新增两个字段DB_TRX_ID(插入或更新行的左后一个事务ID),DB_ROLL_PTR(回滚指针),利用这两个字段判断,即只能查询到创建时间小于等于当前事务ID的数据和删除时间大于当前事务ID的行(未删除)b. 若select name from 表 where name = 'Q',则只需要在辅助索引里查询,不用在主键索引查询,这种方式叫做覆盖索引(查询的字段全部在辅助索引里)

2024-03-12 22:29:39 1514

原创 concurrentHashMap简要归纳

进行类似的加锁,只有成功才能进入该方式中初始化数组,数组大小会根据sc是否大于0取值,大于0则取sc也就是再new时初始化的容量,否则默认大小16,最后将sc = 3/4数组大小。如果有给定初始容量大小,比如16,如果该值大于最大值的一半则初始容量取最大值(1<<<30),否则取该处是((容量的3/2)+1)再取该值最近的2次幂,如17则取32。d.根据上述计算出的hash值&(数组长度-1),算出数组的位置f,若f为null,将该键值对赋给该f。c.判断该数组是否初始化过,没有则进行初始化,会根据。

2024-03-10 13:31:00 232

原创 线程通信之交替输出0-100以内的数字(synchronized)

【代码】线程通信之交替输出0-100以内的数字(synchronized)

2024-03-09 16:34:55 78

空空如也

空空如也

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

TA关注的人

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