{"version":1,"pages":[{"id":"5b0Mqz0xjm5GIJqHnYiS","title":"README","pathname":"/tech","siteSpaceId":"sitesp_ej0A3","description":""},{"id":"RM4W0x0HTvXVwGQIYh2A","title":"C","pathname":"/tech/c-and-unix/c","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"C & Unix"}]},{"id":"fsv0WEc1mu90g0RVwZ3M","title":"《C 程序设计语言》笔记","pathname":"/tech/c-and-unix/c/c-cheng-xu-she-ji-yu-yan-bi-ji","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"C"}]},{"id":"oqDcDeg770l2oDWlwfAw","title":"C 语言中的陷阱","pathname":"/tech/c-and-unix/c/c-yu-yan-zhong-de-xian-jing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"C"}]},{"id":"fl4xd9dBjkvQItkmFyxG","title":"CMake 示例","pathname":"/tech/c-and-unix/c/cmake-shi-li","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"C"}]},{"id":"8F2KuZSH8C1rG5KzUu5H","title":"GNU make","pathname":"/tech/c-and-unix/c/gnu-make","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"C"}]},{"id":"ESa9uljYCjkQRIESU6fz","title":"LLVM Clang","pathname":"/tech/c-and-unix/c/llvm-clang","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"C"}]},{"id":"ITX5f85a3NVxJLM3U78l","title":"Nginx 常用模块","pathname":"/tech/c-and-unix/c/nginx-chang-yong-mo-kuai","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"C"}]},{"id":"hp2PBI1T88lRnaVrJkPZ","title":"Vim 常用命令","pathname":"/tech/c-and-unix/c/vim-chang-yong-ming-ling","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"C"}]},{"id":"0C8yDbodmLyK2k092E9b","title":"Unix-like","pathname":"/tech/c-and-unix/unix-like","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"C & Unix"}]},{"id":"b2R4pxGKxlBPtCjxI2lp","title":"《深入理解计算机系统》笔记","pathname":"/tech/c-and-unix/unix-like/shen-ru-li-jie-ji-suan-ji-xi-tong-bi-ji","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"u6NdX6UpGjBD6EVVA00N","title":"《UNIX 环境高级编程》笔记 - UNIX 基础知识","pathname":"/tech/c-and-unix/unix-like/unix-huan-jing-gao-ji-bian-cheng-bi-ji-unix-ji-chu-zhi-shi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"kKOc7sA8KAGf4E2aUiUo","title":"《UNIX 环境高级编程》笔记 - 文件 IO","pathname":"/tech/c-and-unix/unix-like/unix-huan-jing-gao-ji-bian-cheng-bi-ji-wen-jian-io","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"qu27iDctdnoBr9D9bBNZ","title":"《UNIX 环境高级编程》笔记 - 标准 IO 库","pathname":"/tech/c-and-unix/unix-like/unix-huan-jing-gao-ji-bian-cheng-bi-ji-biao-zhun-io-ku","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"W8WJ5PjlfdaYFm2QUTTW","title":"《鳥哥的 Linux 私房菜》笔记 - 目录配置","pathname":"/tech/c-and-unix/unix-like/niao-ge-de-linux-si-fang-cai-bi-ji-mu-lu-pei-zhi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"8GtmxYgIyQUMRMIHMzzs","title":"《鳥哥的 Linux 私房菜》笔记 - 认识与学习 bash","pathname":"/tech/c-and-unix/unix-like/niao-ge-de-linux-si-fang-cai-bi-ji-ren-shi-yu-xue-xi-bash","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"168VgTQXlhwDR3U3qsyG","title":"《鳥哥的 Linux 私房菜》笔记 - 任务管理","pathname":"/tech/c-and-unix/unix-like/niao-ge-de-linux-si-fang-cai-bi-ji-ren-wu-guan-li","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"I9Y3ETXz3qluAeuIfgFt","title":"OpenWrt 中的陷阱","pathname":"/tech/c-and-unix/unix-like/openwrt-zhong-de-xian-jing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"Nb1BPo9TZs42JrPcIw4r","title":"iptables 工作机制","pathname":"/tech/c-and-unix/unix-like/iptables-gong-zuo-ji-zhi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"C & Unix"},{"label":"Unix-like"}]},{"id":"LONWJcguR5tgsnibZwyA","title":"《A Tour of Go》笔记","pathname":"/tech/go/a-tour-of-go-bi-ji","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"cAhKf7R8G4YK2hoonUVP","title":"Go vs C vsJava","pathname":"/tech/go/go-vs-c-vsjava","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"ZIUYkSTwLFjqtNF1q3UC","title":"Go 常用命令","pathname":"/tech/go/go-chang-yong-ming-ling","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"DB1LcNcqj8qRv0qmDOrz","title":"Go 语言中的陷阱","pathname":"/tech/go/go-yu-yan-zhong-de-xian-jing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"fuq3ZRDBBiLJiJkVOxkc","title":"JDK","pathname":"/tech/java/jdk","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"Java"}]},{"id":"RmDnUnTjfZpwbCC0cVbf","title":"《Java 并发编程实战》笔记 - 线程池的使用","pathname":"/tech/java/jdk/java-bing-fa-bian-cheng-shi-zhan-bi-ji-xian-cheng-chi-de-shi-yong","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JDK"}]},{"id":"FVJjVh0M1NwVNpfoklnD","title":"设计模式概览","pathname":"/tech/java/jdk/she-ji-mo-shi-gai-lan","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JDK"}]},{"id":"lk80ecK9NjUJMWocsspC","title":"集合概览","pathname":"/tech/java/jdk/ji-he-gai-lan","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JDK"}]},{"id":"IW2JBicwYemuXGZGN0FO","title":"HashMap 内部算法","pathname":"/tech/java/jdk/hashmap-nei-bu-suan-fa","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JDK"}]},{"id":"6qzyIKLUgqm4h9JPSuxB","title":"ThreadLocal 工作机制","pathname":"/tech/java/jdk/threadlocal-gong-zuo-ji-zhi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JDK"}]},{"id":"k4AWayqUh6CAPWGQmNCW","title":"Java Agent","pathname":"/tech/java/jdk/java-agent","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JDK"}]},{"id":"2h7ydpiEH39AJemhiEd4","title":"JVM","pathname":"/tech/java/jvm","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"Java"}]},{"id":"jS3NhOVgFeRk39L8m4tT","title":"《深入理解 Java 虚拟机》笔记 - Java 内存模型与线程","pathname":"/tech/java/jvm/shen-ru-li-jie-java-xu-ni-ji-bi-ji-java-nei-cun-mo-xing-yu-xian-cheng","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JVM"}]},{"id":"hWAlgKhp4ATFknLsDPnh","title":"JVM 运行时数据区","pathname":"/tech/java/jvm/jvm-yun-xing-shi-shu-ju-qu","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JVM"}]},{"id":"qUUWJjREVOoAwNSW4Wgw","title":"类加载机制","pathname":"/tech/java/jvm/lei-jia-zai-ji-zhi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JVM"}]},{"id":"28H5hQ3JjZReNsl8HToL","title":"垃圾回收算法","pathname":"/tech/java/jvm/la-ji-hui-shou-suan-fa","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JVM"}]},{"id":"dtI1UMEUKMqOhM9cw9Mu","title":"引用类型","pathname":"/tech/java/jvm/yin-yong-lei-xing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JVM"}]},{"id":"3wBB43jIEhGWs9FrhbzX","title":"垃圾收集算法","pathname":"/tech/java/jvm/la-ji-shou-ji-suan-fa","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JVM"}]},{"id":"ymwUHU94LihiCD655RSL","title":"垃圾收集器","pathname":"/tech/java/jvm/la-ji-shou-ji-qi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"JVM"}]},{"id":"mBUlBRAl8yg2wYVTv862","title":"Spring","pathname":"/tech/java/spring","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"Java"}]},{"id":"iuTIvGzgfYVMeBiFWNQY","title":"Spring IoC 容器扩展点","pathname":"/tech/java/spring/spring-ioc-rong-qi-kuo-zhan-dian","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"Spring"}]},{"id":"IXTY3eyZx2F7vHl6Ftyv","title":"Spring Transaction 声明式事务管理","pathname":"/tech/java/spring/spring-transaction-sheng-ming-shi-shi-wu-guan-li","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"Spring"}]},{"id":"INN3GbcvqTDZFWDqT1e3","title":"Spring Web MVC DispatcherServlet 工作机制","pathname":"/tech/java/spring/spring-web-mvc-dispatcherservlet-gong-zuo-ji-zhi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"Spring"}]},{"id":"U6xfKWkN0t6g3xMDlsij","title":"Spring Security Servlet 实现原理","pathname":"/tech/java/spring/spring-security-servlet-shi-xian-yuan-li","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"Spring"}]},{"id":"XX26QQ1C7DKvndSIrChW","title":"其它","pathname":"/tech/java/qi-ta","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"Java"}]},{"id":"V5E27FgQQys5op7DFxP1","title":"《Netty - One Framework to rule them all》演讲笔记","pathname":"/tech/java/qi-ta/netty-one-framework-to-rule-them-all-yan-jiang-bi-ji","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"其它"}]},{"id":"Tvhem0Br8vJq70sUUkHO","title":"Hystrix 设计与实现","pathname":"/tech/java/qi-ta/hystrix-she-ji-yu-shi-xian","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Java"},{"label":"其它"}]},{"id":"5JJL0PFa2E1nl87f6ocx","title":"《写给大家看的设计书》笔记 - 设计原则","pathname":"/tech/javascript/xie-gei-da-jia-kan-de-she-ji-shu-bi-ji-she-ji-yuan-ze","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"JavaScript"}]},{"id":"x2HDCSwxBoMr636xnllG","title":"《JavaScript 权威指南》笔记 - jQuery 类库","pathname":"/tech/javascript/javascript-quan-wei-zhi-nan-bi-ji-jquery-lei-ku","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"JavaScript"}]},{"id":"FTdV0iEOIkItv89n2W4a","title":"Python 模块","pathname":"/tech/python/python-mo-kuai","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"Python"}]},{"id":"bmr10N4JS4g5C8WcMlju","title":"ElasticSearch","pathname":"/tech/shu-ju-ku/elasticsearch","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"数据库"}]},{"id":"BrVOhFTNJRvWixDWpsu7","title":"ElasticSearch 概览","pathname":"/tech/shu-ju-ku/elasticsearch/elasticsearch-gai-lan","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"ElasticSearch"}]},{"id":"2ytzEgu4WxCABMrD2rLR","title":"HBase","pathname":"/tech/shu-ju-ku/hbase","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"数据库"}]},{"id":"dk8OKT9Qngeuz8OMFnSW","title":"HBase 数据模型","pathname":"/tech/shu-ju-ku/hbase/hbase-shu-ju-mo-xing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"HBase"}]},{"id":"SnofZm5JpYhbFmyK8g14","title":"Prometheus","pathname":"/tech/shu-ju-ku/prometheus","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"数据库"}]},{"id":"R36oGCuoXkrFg9irTZFp","title":"Prometheus 概览","pathname":"/tech/shu-ju-ku/prometheus/prometheus-gai-lan","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Prometheus"}]},{"id":"31YVjuaqqDNzXFCIF75m","title":"Prometheus 数据模型和指标类型","pathname":"/tech/shu-ju-ku/prometheus/prometheus-shu-ju-mo-xing-he-zhi-biao-lei-xing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Prometheus"}]},{"id":"iSRfJICXpOaT3i74s0xC","title":"Prometheus 查询语法","pathname":"/tech/shu-ju-ku/prometheus/prometheus-cha-xun-yu-fa","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Prometheus"}]},{"id":"oitL3gxJAZbJwvD22pmV","title":"Prometheus 存储原理","pathname":"/tech/shu-ju-ku/prometheus/prometheus-cun-chu-yuan-li","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Prometheus"}]},{"id":"qvsCgHRucclyDYmIQtNN","title":"Prometheus vs InfluxDB","pathname":"/tech/shu-ju-ku/prometheus/prometheus-vs-influxdb","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Prometheus"}]},{"id":"kly10H6NEx37Wfay2QJE","title":"Redis","pathname":"/tech/shu-ju-ku/redis","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"数据库"}]},{"id":"131qmBEXFVQeG0PUEuZP","title":"《Redis 设计与实现》笔记 - 简单动态字符串","pathname":"/tech/shu-ju-ku/redis/redis-she-ji-yu-shi-xian-bi-ji-jian-dan-dong-tai-zi-fu-chuan","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"j0siHhj6XJE1KBCHvbBd","title":"《Redis 设计与实现》笔记 - 链表","pathname":"/tech/shu-ju-ku/redis/redis-she-ji-yu-shi-xian-bi-ji-lian-biao","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"P5e4Traw01kQJSd4Bb6J","title":"《Redis 设计与实现》笔记 - 字典","pathname":"/tech/shu-ju-ku/redis/redis-she-ji-yu-shi-xian-bi-ji-zi-dian","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"YxAfohfEr6ARYz34Va3y","title":"《Redis 设计与实现》笔记 - 跳跃表","pathname":"/tech/shu-ju-ku/redis/redis-she-ji-yu-shi-xian-bi-ji-tiao-yue-biao","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"5aMIZmb8ksMsa7zsldRu","title":"《Redis 设计与实现》笔记 - 整数集合","pathname":"/tech/shu-ju-ku/redis/redis-she-ji-yu-shi-xian-bi-ji-zheng-shu-ji-he","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"FP5njJRQQoUUKr1ps2JL","title":"《Redis 设计与实现》笔记 - 压缩列表","pathname":"/tech/shu-ju-ku/redis/redis-she-ji-yu-shi-xian-bi-ji-ya-suo-lie-biao","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"Q9umw5Qews6Iqr5mj7nY","title":"《Redis 设计与实现》笔记 - 对象","pathname":"/tech/shu-ju-ku/redis/redis-she-ji-yu-shi-xian-bi-ji-dui-xiang","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"nfbE7xmsIFh5n1nwrKwi","title":"Redis 内存回收策略","pathname":"/tech/shu-ju-ku/redis/redis-nei-cun-hui-shou-ce-le","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"nPs0K3h3eCgukHLg482v","title":"Redis 实现分布式锁","pathname":"/tech/shu-ju-ku/redis/redis-shi-xian-fen-bu-shi-suo","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"wdf0lgG4APeOhlezlig5","title":"Redis 持久化机制","pathname":"/tech/shu-ju-ku/redis/redis-chi-jiu-hua-ji-zhi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"IhOOFb7fosqo6zSJ1xuN","title":"Redis 数据分片方案","pathname":"/tech/shu-ju-ku/redis/redis-shu-ju-fen-pian-fang-an","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"ft3KmZbKSZVk4rtYWi6Q","title":"使用缓存的常见问题","pathname":"/tech/shu-ju-ku/redis/shi-yong-huan-cun-de-chang-jian-wen-ti","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"oUeWADsnUQcSlNhSN0ng","title":"MySQL","pathname":"/tech/shu-ju-ku/mysql","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"数据库"}]},{"id":"wVusuEGxBhawqzNvQ49q","title":"《高性能 MySQL》笔记 - Schema 与数据类型优化","pathname":"/tech/shu-ju-ku/mysql/gao-xing-neng-mysql-bi-ji-schema-yu-shu-ju-lei-xing-you-hua","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"OwJBkpIYn6BULkyDjEmM","title":"《高性能 MySQL》笔记 - 创建高性能的索引","pathname":"/tech/shu-ju-ku/mysql/gao-xing-neng-mysql-bi-ji-chuang-jian-gao-xing-neng-de-suo-yin","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"XrU18XTG45f5lNxJ3jVC","title":"《MySQL Reference Manual》笔记 - InnoDB 和 ACID 模型","pathname":"/tech/shu-ju-ku/mysql/mysql-reference-manual-bi-ji-innodb-he-acid-mo-xing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"AxLMee51t234H5BJsA91","title":"《MySQL Reference Manual》笔记 - InnoDB 多版本","pathname":"/tech/shu-ju-ku/mysql/mysql-reference-manual-bi-ji-innodb-duo-ban-ben","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"41Embc7uO2aSF1iDmH1I","title":"《MySQL Reference Manual》笔记 - InnoDB 锁","pathname":"/tech/shu-ju-ku/mysql/mysql-reference-manual-bi-ji-innodb-suo","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"MPgTNBTE89hOE70M2GMx","title":"《MySQL Reference Manual》笔记 - InnoDB 事务模型","pathname":"/tech/shu-ju-ku/mysql/mysql-reference-manual-bi-ji-innodb-shi-wu-mo-xing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"GAvMAddFP3fHny4jEmpC","title":"B-Tree 简述","pathname":"/tech/shu-ju-ku/mysql/btree-jian-shu","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"MIo8FL9WC2HfM0HifOf1","title":"理解查询执行计划","pathname":"/tech/shu-ju-ku/mysql/li-jie-cha-xun-zhi-xing-ji-hua","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"hq50qvdwyfFFi70jfcyd","title":"PostgreSQL","pathname":"/tech/shu-ju-ku/postgresql","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"数据库"}]},{"id":"v5dNRyd1A8QTWAt4y6IP","title":"PostGIS 数据管理","pathname":"/tech/shu-ju-ku/postgresql/postgis-shu-ju-guan-li","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据库"},{"label":"PostgreSQL"}]},{"id":"DjaDyAy1WI3rXGJsEFoB","title":"gRPC","pathname":"/tech/zhong-jian-jian/grpc","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"中间件"}]},{"id":"MUzn86mrCDWYxQ4ZqFwp","title":"gRPC 负载均衡","pathname":"/tech/zhong-jian-jian/grpc/grpc-fu-zai-jun-heng","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"中间件"},{"label":"gRPC"}]},{"id":"DNnDMgyskvlp4ICg0gw8","title":"ZooKeeper","pathname":"/tech/zhong-jian-jian/zookeeper","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"中间件"}]},{"id":"TgBG8QspVhBzc1ZSpOyK","title":"ZooKeeper 数据模型","pathname":"/tech/zhong-jian-jian/zookeeper/zookeeper-shu-ju-mo-xing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"中间件"},{"label":"ZooKeeper"}]},{"id":"jG5eq3KvwmYL6EaEtadd","title":"消息队列","pathname":"/tech/zhong-jian-jian/xiao-xi-dui-lie","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"中间件"}]},{"id":"48pvULhi9JYyTeJLQFBv","title":"消息积压解决策略","pathname":"/tech/zhong-jian-jian/xiao-xi-dui-lie/xiao-xi-ji-ya-jie-jue-ce-le","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"中间件"},{"label":"消息队列"}]},{"id":"6YEbGLAkfvAeDZnp8xYF","title":"RocketMQ 架构设计","pathname":"/tech/zhong-jian-jian/xiao-xi-dui-lie/rocketmq-jia-gou-she-ji","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"中间件"},{"label":"消息队列"}]},{"id":"scnTIBZOmBD599zOOlT8","title":"RocketMQ 功能特性","pathname":"/tech/zhong-jian-jian/xiao-xi-dui-lie/rocketmq-gong-neng-te-xing","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"中间件"},{"label":"消息队列"}]},{"id":"8goRxEXbjN0gO5KJPOJU","title":"RocketMQ 消息存储","pathname":"/tech/zhong-jian-jian/xiao-xi-dui-lie/rocketmq-xiao-xi-cun-chu","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"中间件"},{"label":"消息队列"}]},{"id":"Um3EMFhZ3vuCzggl3qWi","title":"《凤凰架构》笔记","pathname":"/tech/fen-bu-shi-xi-tong/feng-huang-jia-gou-bi-ji","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"fCYKWoqyoqN4xVnyvDID","title":"DDD 架构设计方法论","pathname":"/tech/fen-bu-shi-xi-tong/ddd-jia-gou-she-ji-fang-fa-lun","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"YTY5E63mXPfRX4lPcDO5","title":"系统设计思路","pathname":"/tech/fen-bu-shi-xi-tong/xi-tong-she-ji-si-lu","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"QRCPz6gP8bW1DljyHeG5","title":"系统优化思路","pathname":"/tech/fen-bu-shi-xi-tong/xi-tong-you-hua-si-lu","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"oqrNwXIdCAzo5fnc4SCt","title":"分布式事务协议：二阶段提交和三阶段提交","pathname":"/tech/fen-bu-shi-xi-tong/fen-bu-shi-shi-wu-xie-yi-er-jie-duan-ti-jiao-he-san-jie-duan-ti-jiao","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"SVeH8mvK49OgRSmCDxlx","title":"分布式系统的技术栈","pathname":"/tech/fen-bu-shi-xi-tong/fen-bu-shi-xi-tong-de-ji-shu-zhan","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"jwEnH2fy4iW7d3IRjS6W","title":"分布式系统的弹性设计","pathname":"/tech/fen-bu-shi-xi-tong/fen-bu-shi-xi-tong-de-tan-xing-she-ji","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"JIrYJk8BuylUTKhXF3SO","title":"单点登录解决方案","pathname":"/tech/fen-bu-shi-xi-tong/dan-dian-deng-lu-jie-jue-fang-an","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"Qgp5tXqWaWUkElFwxbYa","title":"容错，高可用和灾备","pathname":"/tech/fen-bu-shi-xi-tong/rong-cuo-gao-ke-yong-he-zai-bei","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"分布式系统"}]},{"id":"5qLRseSQ7mf76TO0msuV","title":"一致性哈希","pathname":"/tech/shu-ju-jie-gou-he-suan-fa/yi-zhi-xing-ha-xi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据结构和算法"}]},{"id":"qbAYK0QIKgQ6KIYXSPnY","title":"布隆过滤器","pathname":"/tech/shu-ju-jie-gou-he-suan-fa/bu-long-guolqi","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据结构和算法"}]},{"id":"B2pWKXU0snnsXjNvw8Vd","title":"散列表","pathname":"/tech/shu-ju-jie-gou-he-suan-fa/san-lie-biao","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"数据结构和算法"}]},{"id":"2k2834GJsucWbjhQSpGr","title":"诊断工具","pathname":"/tech/wang-luo-xie-yi/zhen-duan-gong-ju","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"网络协议"}]},{"id":"cEB1dDdUFR6o8NV7rAHR","title":"TCP 协议","pathname":"/tech/wang-luo-xie-yi/tcp-xie-yi","siteSpaceId":"sitesp_ej0A3","breadcrumbs":[{"label":"网络协议"}]},{"id":"pR3OWhjRWuqItVoowFRf","title":"TCP 报文结构","pathname":"/tech/wang-luo-xie-yi/tcp-xie-yi/tcp-bao-wen-jie-gou","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"网络协议"},{"label":"TCP 协议"}]},{"id":"hWdoacClGviCI3uX4fSs","title":"TCP 连接管理","pathname":"/tech/wang-luo-xie-yi/tcp-xie-yi/tcp-lian-jie-guan-li","siteSpaceId":"sitesp_ej0A3","description":"","breadcrumbs":[{"label":"网络协议"},{"label":"TCP 协议"}]}]}