面试经验
Konjac.k
这个作者很懒,什么都没留下…
展开
-
面试经验:乐观锁与悲观锁
一、乐观锁 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。 version方式:一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。当线程A要更新数据值时,在读取数据的同时也会读取ver...原创 2018-07-30 21:35:45 · 590 阅读 · 0 评论 -
面试经验:丢失更新(第一类&第二类)
第一类丢失更新 A事务撤销时,把已经提交的B事务的更新数据覆盖了。这种错误可能造成很严重的问题,通过下面的账户取款转账就可以看出来: 时间 取款事务A 转账事务B T1 开始事务 T2 开始事务 ...原创 2018-07-26 20:40:58 · 605 阅读 · 0 评论 -
面试经验:HashMap原理的简单理解
HashMap底层用一张Hash表实现,它结合了数组查找速度快及链表存储空间小的优点(如上图所示) 数组的每个元素为一个链表,链表的每个节点为一个Entry,每个Entry包括有key、value、next和hashcode Hash冲突:当put一个entry时,会根据key生成hashcode,此时会发生以下几种情况: key不同,且生成的hashcode也不同:没有冲突,此时根据h...原创 2018-07-25 17:04:26 · 709 阅读 · 0 评论