多版本并发控制-MVCC
多版本并发控制(Multi-Version Concurrency Control, MVCC)以乐观锁为理论基础,和基于锁的并发控制最大的区别和优点是:读不加锁,读写不冲突。
事务版本号
每次事务开启前都会从数据库获得一个自增长的事务 id,可以从事务 id 判断事务的执行先后顺序。
多版本并发控制(Multi-Version Concurrency Control, MVCC)以乐观锁为理论基础,和基于锁的并发控制最大的区别和优点是:读不加锁,读写不冲突。
每次事务开启前都会从数据库获得一个自增长的事务 id,可以从事务 id 判断事务的执行先后顺序。
按照锁的粒度划分:
按照锁的级别划分:
按照使用方式划分:
行级锁是 MySQL 中锁定粒度最细的一种锁,表示只针对当前行进行加锁。行级锁分为共享锁和排他锁。
Java 的 I/O 大概可以分成以下几类:
File 类可以用于表示文件和目录的信息,但是它不表示文件的内容。
有三种使用线程的方法:
实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过 Thread 来调用。可以理解为任务是通过线程驱动从而执行的。
需要实现接口中的 run() 方法。
解释器模式解决的问题是:语法分析
解释器模式(InterpreterPattern)是一种按照规定语法进行解析的方案,在现在项目中使用较少.
给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。
方法的定义可能会用到 参数(有参的方法),参数在程序语言中分为:
1 | String hello = "Hello!"; |
状态模式解决的问题是:状态变更引起行为变更
当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。
Allow an object to alter its behavior when its internal state changes.The object will appear to change its class.