01 2021 档案
摘要:SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制。本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。 在Java中SPI是被用来设计给服务提供商做插件使用的。基于策略模式来实现动态
阅读全文
摘要:锁定读(locking read)、更新(UPDATE)或删除(DELETE)通常会在SQL语句处理过程中扫描的每个索引记录上设置记录锁。语句中是否存在排除行的WHERE条件并不重要。InnoDB不记得确切的WHERE条件,而只知道哪个索引范围被扫描。这些锁通常是next-key锁,它还会阻止在记录
阅读全文
摘要:1. Shared and Exclusive Locks shared lock (译:共享锁) exclusive lock (译:排它锁、独占锁) InnoDB实现了标准的行级锁,其中有两种类型的锁,共享锁(shared locks)和排他锁(exclusive locks)。 A share
阅读全文
摘要:当同一个查询在不同的时间产生不同的行集时,就会出现所谓的幻像问题。例如,如果执行了两次SELECT,但是第二次返回了第一次没有返回的行,那么该行就是一个“幻象”行。 假设在表child的id列上有一个索引,你想读取并锁定表中标识符值大于100的所有行,并打算稍后更新所选行的某些列: SELECT *
阅读全文
摘要:隔离级别是在多个事务同时进行更改和执行查询时,对性能与结果的可靠性、一致性和再现性之间的平衡进行微调的设置。 提供了SQL:1992标准中描述的四种事务隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ和SERIALIZABLE。InnoDB默认
阅读全文
摘要:1. ElasticJob 是什么 ElasticJob 是一个分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。 ElasticJob-Lite 定位为轻量级无中心化解决方案,使用jar的形式提供分布式任务的协调服务。 Elas
阅读全文
摘要:1. 策略模式 策略模式是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。 当你有许多仅在执行某些行为时略有不同的相似类时,可使用策略模式。使用该模式能将类的业务逻辑与其算法实现细节隔离开来。 说白了,其实还是解耦 策略模式的结构如上图所示,主要
阅读全文