- 博客(4)
- 收藏
- 关注
原创 数据库的悲观锁和乐观锁
悲观锁:悲观锁认为被他保护的数据是不安全的,随时都有可能变动,一个事务拿到悲观锁之后,其他任何事务都不能对该数据进行修改,只能等待锁被释放才可以执行。数据库中的行锁,表锁,读写锁,还有synchronized的实现都是悲观锁(1)优点: 悲观锁利用数据库中的锁机制来实现数据变化的顺序,这是最有效的办法。(2)缺点:一个事务用悲观锁对数据加锁之后,其他数据将不能对加锁的数据进行除了查询意外的所有...
2019-05-15 18:04:47
287
转载 Java锁
锁从宏观上分为乐观锁和悲观锁乐观锁:乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。java中的乐观锁基本都是通过CAS操作实现的,CAS是一种更新的原子...
2019-05-15 18:03:49
97
1
转载 一条SQL语句执行很慢的原因有哪些?
一条SQL语句执行很慢的可以分两种情况:(1)大多数情况是正常的,只是偶尔会出现很慢的情况。(2)在数据量不变的情况下,这条SQL语句一直以来都执行的很慢。针对情况1的原因:1. 数据库在刷新脏页:在往数据库插入或者更新一条数据的时候,我们知道数据库会在内存中把对应的字段更新了,但是更新之后,这些更新的字段并不会马上同步持久化到磁盘中,而是把这些更新的记录写入到redo log日志中去,...
2019-05-06 12:37:29
1055
原创 Java设计模式——单例模式
单例模式1. 概念:单例模式是一种对象创建型的设计模式,该模式可以保证一个类有且只有唯一一个实例对象。 GoF对该模式的定义是:保证一个类只有一个实例存在,并且同时提供能对该实例进行访问的全局方法。2. 实现方式及分析(1)饿汉式public class Singleton{ private static final Singleton INSTANCE = new Singleton(...
2019-04-24 23:13:37
204
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人