凯特林 凯特林
3年前
React - Fiber原理
浏览器渲染屏幕刷新率(FPS)浏览器的正常绘制频率是60次/秒,小于这个值时,用户会感觉到卡顿绘制一次的称为一帧,平均每帧16.6ms帧每个帧的开头包括样式计算、布局和绘制js的执行是单线程,js引擎和页面渲染引擎都占用主线程,GUI渲染和Javascript执行两者是互斥的如果某个js任务执行时间过长,浏览器会推迟渲染,每
Wesley13 Wesley13
3年前
1 面试题之多线程、锁
大纲:!(https://oscimg.oschina.net/oscnet/up8e01bd5ababcc60019e69eca355d0783b31.png)一、线程相关①进程与线程的区别:(重点掌握)!(https://oscimg.oschina.net/oscnet/
Easter79 Easter79
3年前
TiDB 性能竞赛 11.16
TiDB实现了快照隔离级别的分布式事务,支持悲观锁、乐观锁,同时也解决了大事务的难点。事务是数据库的基础,提供高效的、支持完整ACID的分布式事务更是分布式数据库的立足之本。事务是数据库执行的最小单元,允许用户将多个读写操作组合为一个逻辑单元。事务需要满足原子性、一致性、隔离性和持久性,也就是ACID。数据库有多种并发控制方法,乐观并发控制(
Easter79 Easter79
3年前
TiDB 最佳实践系列(三)乐观锁事务
作者:ShirlyTiDB最佳实践系列是面向广大TiDB用户的系列教程,旨在深入浅出介绍TiDB的架构与原理,帮助用户在生产环境中最大限度发挥TiDB的优势。我们将分享一系列典型场景下的最佳实践路径,便于大家快速上手,迅速定位并解决问题。在前两篇的文章中,我们分别介绍了TiDB高并发写入常见热点问题及规避方法(https:/
Stella981 Stella981
3年前
Google Guava Striped 实现细粒度锁
首先不谈Striped能做什么,我们来看下如下的代码/   购买产品   @param user 用户   @param buyAmount 购买金额   @param productId 产品编号  / public static void buy(String user
Wesley13 Wesley13
3年前
MySQL事务未提交导致整个表锁死
问题及说明:当一个SQL事务执行完了,但未COMMIT,后面的SQL想要执行就是被锁,超时结束;报错信息如下:mysqlERROR1205(HY000):Lockwaittimeoutexceeded;tryrestartingtransaction处理步骤:该问题发生环境为MySQL(h
Wesley13 Wesley13
3年前
04.JUC 集合
基本概念LinkedBlockingQueue是一个用链表实现的有界阻塞队列。LinkedBlockingQueue按照先进先出的原则对元素进行排序。LinkedBlockingQueue采用了双锁、双条件队列来提高读写效率。内部构造LinkedBlockingQueue内部维
Wesley13 Wesley13
3年前
Hibernate(五)——面向对象查询语言和锁
Hibernate做了数据库中表和我们实体类的映射,使我们不必再编写sql语言了。但是有时候查询的特殊性,还是需要我们手动来写查询语句呢,Hibernate框架为了解决这个问题给我们提供了HQL(Hibernate Query  Language)面向对象的查询语言,和QBC(QuerybyCriteria)完全面向对象的
Easter79 Easter79
3年前
Spring之导入和混合配置
  在典型的Spring应用中,我们可能会同时使用自动化和显式配置。即便你更喜欢通过JavaConfig实现显式配置,但有的时候XML却是最佳的方案。幸好在Spring中,这些配置方案都不是互斥的。你尽可以将JavaConfig的组件扫描和自动装配和/或XML配置混合在一起。实际上,就像在2.2.1小节中所看到的,我们至少需要有一点显式配置来启用组件扫描和自
Wesley13 Wesley13
3年前
mysql 解决超卖问题的锁分析
  解决超卖问题,常见的方式,利用redis的原子性去递减;利用队列,队列入队计数。或者直接打到mysql层。由mysql保证不超卖,有几个玩法。利用属性不一样,挺有意思,记录下。该文章后续仍在不断的更新修改中,请移步到原文地址http://www.dmwan.cc/?p139&previewtrue(https://www.