前后端 + 移动端的全栈开发笔记。按技术栈分组,点击进入:
前端 ​
- TypeScript——JS 超集、类型系统、泛型
后端 ​
- Java——基础、集合、并发、JVM、反射
- Spring Boot——自动配置、Bean、事务
- MyBatis——ORM 映射
- [NestJS](/fullstack/nestjs/beginner/ne
前后端 + 移动端的全栈开发笔记。按技术栈分组,点击进入:
MySQL 基础见《MySQL 快速入门》,查询优化见《MySQL 索引详解》。这篇解决最后一个大问题:单表数据量太大(几千万上亿行)怎么办——分库分表。这是分布式系统面试必问、也是业务量大了必须面对的。
单表数据量大的两个瓶颈:
| 瓶颈 | 原因 | 表现 |
|---|---|---|
| 查询慢 | B+Tree 层数增加 + 磁盘 |
Linux 入门基础:命令、文件系统、权限、编辑器。点击下面的文章阅读:
Linux 开发:内核、驱动、系统编程。文章整理中。
Linux 服务器运维:远程传输、定时任务、备份。点击下面的文章阅读:
编译原理学习笔记——编译器怎么把高级语言翻译成机器码。文章整理中。
《哈希表详解》讲了哈希数据结构,这篇讲哈希算法:摘要算法(MD5/SHA)、一致性哈希(分布式核心)、布隆过滤器(海量去重)。全部 Java 示例编译验证过。
| 哈希函数(查表用) | 摘要算法(校验用) | |
|---|---|---|
| 例子 | HashMap 的 hash() | MD5、SHA-256 |
| 目的 | 快速定位(O(1) 查表) | 内容完整性校验 |
数据结构与算法系列第一篇:哈希表——编程里最常用的数据结构之一(HashMap、字典、缓存都是它)。这篇讲:原理、冲突解决、扩容、Java HashMap 实现,全部 Java 示例编译验证过。
哈希表 = 数组 + 哈希函数:用哈希函数把 key 映射成数组下标,直接定位——平均 O(1) 查找。
hash("BinMaker") → 3 存到数组 [3]
hash("Alice") → 1 存到数组 [1]
查找:hash("Alice") → 1 → 直接取数组[1]
``