自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 锁撤销阈值达到20次批量重偏向是针对类还是线程?撤销阈值达到20次触发的20是指撤销偏向锁20次后触发还是19次后触发?

可以看到线程t2撤销前19个,但因为没有第20个对象,所以没有触发批量重偏向,二线程t3因为有第20个对象加锁所以触发批量重偏向,说明撤销偏向锁19次后,不会触发批量重偏向,只有第20个对象需要变更偏向才会触发批量重偏向。修改数值,线程t1建立29个对象,并让29个对象加锁(偏向锁偏向t1),线程t2对前19个对象加锁,t3对29个对象加锁,多线程执行顺序为t1->t2->t3。建立spring项目,要有依赖。

2024-08-03 21:54:20 307

原创 如何理解先删除缓存还是先修改数据库。

更新线程有两操作1.删除缓存,2.修改数据库。要想实现变化后缓存中是旧数据有两个条件1.读取数据库数据必须在修改前才能读到旧数据,2.写入缓存必须在删除缓存后才能保证写入旧数据。可以看到如果左边要满足数据不一致的话读数据库,写缓存必须经过更新数据库删除缓存时间跨度,而更新数据库时间是远大于写入缓存的时间的,所以左边不容易发送数据不一致情况。针对这个问题,其实反过来更好理解,即”先删除缓存还是先修改数据库能保证数据一致“变为”数据不一致的条件是什么“,好,现在就经过第一步转换了,接下来就解决这个问题。

2024-08-01 00:20:38 384

空空如也

空空如也

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

TA关注的人

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