参考: https://www.nowcoder.com/discuss/215891?type=2&order=0&pos=10&page=1 1.会啥框架、不会。 2.锁的实现。悲观锁、乐观锁。 3.sychronized 和 reentrantlock 实现原理 4.volatile原理 5. ...
分类:
编程语言 时间:
2019-08-09 01:02:57
阅读次数:
140
众所周知,JDK提供了AtomicInteger保证对数字的操作是线程安全的,线程安全我首先想到了synchronized和Lock,但是这种方式又有一个名字,叫做互斥锁,一次只能有一个持有锁的线程进入,再加上还有不同线程争夺锁这个机制,效率比较低,所以又称“悲观锁”。 但是相应的有了乐观锁的概念, ...
分类:
编程语言 时间:
2019-08-08 21:39:27
阅读次数:
165
原文: http://106.13.73.98/__/175/ 乐观锁 总是认为不会产生并发问题,每次去取数据时总认为不会有其它线程对数据进行修改,因此不会上锁。 但是在更新时会判断其它线程在这之前有没有对数据进行修改,一般会使用版本号机制会CAS操作实现。 __版本号方式__ &nbs ...
分类:
数据库 时间:
2019-08-08 20:53:17
阅读次数:
95
CAS的全称是CompareAndSwap,比较并交换,是Java保证原子性的一种重要方法,也是一种乐观锁的实现方式。 它需要先提前一步获取旧值,然后进入此方法比较当下的值是否与旧值相同,如果相同,则更新数据,否则退出方法,重复一遍刚才的动作。由此可见,CAS方法是非堵塞的。CAS方法需要三个参数, ...
分类:
其他好文 时间:
2019-08-04 10:48:20
阅读次数:
114
一、innodb: mysql默认搜索引擎; 特点: (1)支撑事务,可以在事务上添加锁; (2)锁方式: 1)共享锁(乐观锁):对查询共享,对增删改上锁。//当提交事务时会释放锁。 2)排它锁(排他锁):对增删改查全部上锁。 ps: 1)行锁只有InnoDB有; 2)提交事务就是释放锁; 3)锁需 ...
分类:
数据库 时间:
2019-07-31 23:44:19
阅读次数:
121
1、什么是Redis的事务 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按照顺序串行化执行而不会被其他命名插入,不许阻塞 2、Redis事务能干什么 一个队列中,一次性、顺序性、排他性的执行一系列命令 3、Redis事务用法 1、开启事务 multi 2、执行事务 e ...
分类:
其他好文 时间:
2019-07-31 21:59:21
阅读次数:
125
简单字符串缓存实战简单队列实战简单发布订阅实战简单计数器实战排行榜实战简单字符串悲观锁实战简单事务的乐观锁实战 简单字符串缓存实战 简单队列缓存实战 参考博客:https://segmentfault.com/a/1190000008475712 ...
分类:
其他好文 时间:
2019-07-26 21:07:14
阅读次数:
121
1.图解剖析Elasticsearch并发冲突问题 2.图解剖析悲观锁与乐观锁两种并发控制方案 3、图解Elasticsearch内部如何基于_version进行乐观锁并发控制 (1)_version元数据 PUT /test_index/test_type/6{ "test_field": "te ...
分类:
其他好文 时间:
2019-07-26 11:58:38
阅读次数:
297
1.mysql事务原理,特性,事务并发控制2.如何解决高并发场景下的插入重复3.乐观锁和悲观锁4.常用数据库引擎之间区别5.mysql索引6.B-Tree7.mysql索引类型8.什么时候创建索引9.索引什么时候失效(模糊匹配,类型隐转,最左匹配) 10.什么是聚集索引和非聚集索引(辅助索引)11. ...
分类:
数据库 时间:
2019-07-24 16:37:43
阅读次数:
114
写在前面: 锁根据其使用的方式可以划分为:乐观锁和悲观锁。乐观锁即乐观并发控制,悲观锁即悲观并发控制,他们是处理并发控制时主要采用的技术手段。其中,悲观锁正是数据库本身提供的锁机制实现的。 悲观锁: 悲观锁(Pessimistic Concurrency Control)缩写为PCC。从字面意义上理 ...
分类:
数据库 时间:
2019-07-24 13:03:14
阅读次数:
122