Android中的线程 当应用在 Android 中启动时,它会创建第一个执行线程,称为“主”线程。主线程负责将事件分派到相应的用户界面小组件,以及与 Android UI 工具包中的组件进行通信。 为了保持应用程序的响应速度,必须避免使用主线程来执行任何可能最终导致其阻塞的操作。 网络操作和数据库调用,以及某些组件的加载,都是在主线程中应避免的常见操作示例。当它们在主线程中被调用时,...
@CacheEvict可以清除指定的 key,同时可以指定allEntries = true清空 namespace 下的所有元素,这也导致缺乏灵活性。 redis 的查询和删除都可以做模糊匹配,所以如何让@CacheEvict也支持模糊匹配清除? @CacheEvict 实现原理 @CacheEvict是通过 AOP 实现的,其中核心的类是CacheAspectSupport,具体的...
1. 全局/注解设置更新策略 字段的更新策略包括: FieldStrategy.IGNORED: 对入参的实体所有字段不做任何判断,原貌更新 FieldStrategy.NOT_NULL: 当字段为空时不会加入到更新的SQL语句中 FieldStrategy.NOT_EMPTY:特定针对字符串类型,在NOT_NULL基础上增加了非空判断 ...
本文结合官方文档对对ORDER BY语句使用索引或filesort等方式进行排序优化的原理进行简单剖析。 使用索引 The index may also be used even if the ORDER BY does not match the index exactly, as long as all unused portions of the index and all ...
Hash Join 就是 当两个或者多个表Join 查询时,基于其中一个表(驱动表)在内存构建一个哈希表,然后一行一行读另一个表(被驱动表),计算其哈希值到内存哈希表中进行查找。 Employ Conditions 等值连接(Each join has an equi-join condition) 多表连接同样适用,只要每对表的至少一个连接条件为等值连接(a...
众所周知SQL性能调优的依据就是EXPLAIN,其中type对结果影响最大。本文结合MySQL8.0官方文档中对 EXPLAIN Output Format 的说明以及其他网上其他文章,试图对该工具进行简明扼要的阐述。(本文实例环境为MySQL8.0.32,不再赘述) type 概述 The type column of EXPLAIN output describes how t...
diff Output Formats Context Format(-c) The context output format shows several lines of context around the lines that differ. It is the standard format for distributing updates to source code....
起初源于刚接触git diff时,对命令的输入结果无法理解。故查阅了相关资料,从--diff-algorithm={patience|minimal|histogram|myers}可以看出命令内置了多种算法,默认为myers。 抱着好奇心搜寻,发现中文互联网少有文章理解透彻。结合myers的原论文以及相关英文资料从经典的动态规划LCS出发,一步一步优化状态和复杂度,谈谈我的理解。 ...
发现了新版本的内容。