摘要:
背景:记录stream常用的操作方式 Java8 使用 stream().sorted()对List集合进行排序 倒序 升序 和多条件判断 阅读全文
摘要:
mysql rows_sent_MySQL慢查询日志释疑总结 解释了慢查询中相关数据的格式 以及优化注意点 阅读全文
摘要:
在上一篇文章中,我提到MySQL对自增主键锁做了优化,尽量在申请到自增id以后,就释放自增锁。 因此,insert语句是一个很轻量的操作。不过,这个结论对于“普通的insert语句”才有效。也就是说,还有些insert语句是属于“特殊情况”的,在执行过程中需要给其他资源加锁,或者无法在申请到自增id 阅读全文
摘要:
在第4篇文章中,我们提到过自增主键,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧凑。 之前我见过有的业务设计依赖于自增主键的连续性,也就是说,这个设计假设自增主键是连续的。但实际上,这样的假设是错的,因为自增主键不能保证连续递增。 今天这篇文章,我们就来说说这个问题, 阅读全文
摘要:
我经常被问到这样一个问题:分区表有什么问题,为什么公司规范不让使用分区表呢?今天,我们就来聊聊分区表的使用行为,然后再一起回答这个问题。 分区表是什么? 为了说明分区表的组织形式,我先创建一个表t: CREATE TABLE `t` ( `ftime` datetime NOT NULL, `c` 阅读全文
摘要:
背景:记录zk学习过程中的知识点,强化记忆 【面试精选】ZooKeeper 的典型应用场景发布订阅功能有啥用? 【面试精选】ZooKeeper 的典型应用场景发布订阅功能有啥用? 配置中心 我们可以考虑把应用配置放到 ZooKeeper 上去,也就是保存在 Zookeeper 的某个目录节点中,我们 阅读全文
摘要:
参考《剖析面试最常见问题之MySQL》 索引的区分 聚簇索引和非聚簇索引 MyISAM 引擎中,B+Tree 叶节点的 data 域存放的是数据记录的地址。在索引检索的时候,首先按照 B+Tree 搜索算法搜索索引,如果指定的 Key 存在,则取出其 data 域的值,然后以 data 域的值为地址 阅读全文
摘要:
背景:对于分布式id的技术选型 要有所了解。里面介绍的不是很详细,后面要花时间去研究 转载: 为什么需要分布式ID?你项目中是怎么做的? 下面的结构按照这篇文章进行归类 一口气说出 9种 分布式ID生成方式,面试官有点懵了 数据库 数据库主键自增 数据库号段模式 基于数据库的号段模式生成分布式ID 阅读全文
摘要:
ArrayList扩容机制分析 ArrayList 源码+扩容机制分析 ArrayList 在添加第一个元素的时候,会初始化数组容量为10,后面再添加的时候,会比较 实际元素数量+1 和当前数组大小,如果超容,就需要扩容。 无参数构造方法创建 ArrayList 时,实际上初始化赋值的是一个空数组。 阅读全文
摘要:
背景:学习过程中的笔记总结,并记录疑问的问题 Zookeeper 【进阶】ZooKeeper 相关概念总结 5.3 消息广播模式。zk中两个队列是干啥的,如何保证消息的顺序执行?? 关注知识点 4. 一致性协议和算法 2pc和3pc,以及Paxos算法(Proposer提案者、Acceptor表决者 阅读全文