1 Star 0 Fork 0

xiaoyu/calos

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
index.html 33.16 KB
一键复制 编辑 原始数据 按行查看 历史
fxiaoyu97 提交于 2022-05-10 16:24 . Auto deploy from Github Actions
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="VuePress 2.0.0-beta.43">
<style>
:root {
--c-bg: #fff;
}
html.dark {
--c-bg: #22272e;
}
html, body {
background-color: var(--c-bg);
}
</style>
<script>
const userMode = localStorage.getItem('vuepress-color-scheme');
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
document.documentElement.classList.toggle('dark', true);
}
</script>
<link rel="icon" href="/img/geass-bg.ico"><title>三更编程</title><meta name="description" content="瑾色流年,追梦少年">
<link rel="modulepreload" href="/calos/assets/app.3c01b79d.js"><link rel="modulepreload" href="/calos/assets/index.html.2235a27d.js"><link rel="modulepreload" href="/calos/assets/index.html.434c130f.js"><link rel="prefetch" href="/calos/assets/index.html.38287094.js"><link rel="prefetch" href="/calos/assets/index.html.dc2731e1.js"><link rel="prefetch" href="/calos/assets/map、string、json互转.html.a3e18534.js"><link rel="prefetch" href="/calos/assets/nginx屏蔽指定IP.html.e4a2a6ae.js"><link rel="prefetch" href="/calos/assets/如何优雅的读取yml配置文件.html.237ae95b.js"><link rel="prefetch" href="/calos/assets/Windows中杀死占用某个端口的进程.html.ebb3fd07.js"><link rel="prefetch" href="/calos/assets/idea快捷键.html.11f25a2e.js"><link rel="prefetch" href="/calos/assets/window下nginx的启动和关闭.html.3f8089eb.js"><link rel="prefetch" href="/calos/assets/HTTP 请求的 GET 与 POST 方式的区别.html.70c99406.js"><link rel="prefetch" href="/calos/assets/JDBC 流程.html.ce2aeb27.js"><link rel="prefetch" href="/calos/assets/equals 与 __ 的区别.html.21e2462a.js"><link rel="prefetch" href="/calos/assets/final_ finally_ finalize 的区别.html.54f59d1c.js"><link rel="prefetch" href="/calos/assets/int 和 Integer 有什么区别.html.67e35523.js"><link rel="prefetch" href="/calos/assets/session 与 cookie 区别.html.7d7e0bf2.js"><link rel="prefetch" href="/calos/assets/session 分布式处理.html.c87e6402.js"><link rel="prefetch" href="/calos/assets/抽象类和接口有什么区别.html.f57fcd8c.js"><link rel="prefetch" href="/calos/assets/说说反射的用途及实现.html.4d3450f4.js"><link rel="prefetch" href="/calos/assets/说说自定义注解的场景及实现.html.da693051.js"><link rel="prefetch" href="/calos/assets/重载和重写的区别.html.fd8cba24.js"><link rel="prefetch" href="/calos/assets/面向对象的特征.html.04117750.js"><link rel="prefetch" href="/calos/assets/ArrayList 与 LinkedList 区别.html.41c2bed9.js"><link rel="prefetch" href="/calos/assets/ArrayList 与 Vector 区别.html.53c98ee1.js"><link rel="prefetch" href="/calos/assets/ConcurrentHashMap 的工作原理及代码实现.html.a2e726b9.js"><link rel="prefetch" href="/calos/assets/HashMap 和 ConcurrentHashMap 的区别.html.fe1608c2.js"><link rel="prefetch" href="/calos/assets/HashMap 和 HashTable 的区别.html.84ede94a.js"><link rel="prefetch" href="/calos/assets/HashMap 的工作原理及代码实现.html.40806ebf.js"><link rel="prefetch" href="/calos/assets/HashSet 和 HashMap 区别.html.c263e389.js"><link rel="prefetch" href="/calos/assets/List 和 Map 区别.html.c7663a93.js"><link rel="prefetch" href="/calos/assets/List 和 Set 区别.html.30ee9f95.js"><link rel="prefetch" href="/calos/assets/ThreadLocal 原理分析.html.e6ec3177.js"><link rel="prefetch" href="/calos/assets/sleep()、join()、yield()有什么区别.html.52955908.js"><link rel="prefetch" href="/calos/assets/创建线程的方式及实现.html.69d74ff7.js"><link rel="prefetch" href="/calos/assets/线程池的几种方式与使用场景.html.3e069e51.js"><link rel="prefetch" href="/calos/assets/线程的生命周期.html.ceacc3ba.js"><link rel="prefetch" href="/calos/assets/讲讲线程池的实现原理.html.243a621b.js"><link rel="prefetch" href="/calos/assets/说说 CountDownLatch 与 CyclicBarrier 区别.html.d43b99d7.js"><link rel="prefetch" href="/calos/assets/说说 CountDownLatch 原理.html.5b6aecf0.js"><link rel="prefetch" href="/calos/assets/说说 CyclicBarrier 原理.html.9106a0b6.js"><link rel="prefetch" href="/calos/assets/说说 Exchanger 原理.html.c22cb52b.js"><link rel="prefetch" href="/calos/assets/说说 Semaphore 原理.html.6f2d0759.js"><link rel="prefetch" href="/calos/assets/01.说说线程安全问题.html.b79a46d5.js"><link rel="prefetch" href="/calos/assets/02.synchronize 实现原理.html.b5d824fa.js"><link rel="prefetch" href="/calos/assets/03.synchronized 与 lock 的区别.html.0abfb1a4.js"><link rel="prefetch" href="/calos/assets/04.CAS 乐观锁.html.927d8a19.js"><link rel="prefetch" href="/calos/assets/05.ABA 问题.html.5c33fb89.js"><link rel="prefetch" href="/calos/assets/06.乐观锁的业务场景及实现方式.html.960a8ec6.js"><link rel="prefetch" href="/calos/assets/07.volatile 实现原理.html.3eb1b653.js"><link rel="prefetch" href="/calos/assets/BeanFactory 和 ApplicationContext 有什么区别.html.458d5d31.js"><link rel="prefetch" href="/calos/assets/Spring AOP 实现原理.html.fe8eae25.js"><link rel="prefetch" href="/calos/assets/Spring Bean 的生命周期.html.71ac6c3c.js"><link rel="prefetch" href="/calos/assets/Spring IOC 如何实现.html.17540d33.js"><link rel="prefetch" href="/calos/assets/Spring MVC 启动流程.html.62a9aad6.js"><link rel="prefetch" href="/calos/assets/Spring MVC 运行流程.html.14446b3e.js"><link rel="prefetch" href="/calos/assets/Spring 事务实现方式.html.0e9d34e4.js"><link rel="prefetch" href="/calos/assets/Spring 事务底层原理.html.e8559776.js"><link rel="prefetch" href="/calos/assets/Spring 框架中用到了哪些设计模式.html.b8dd6d97.js"><link rel="prefetch" href="/calos/assets/Spring 的单例实现原理.html.2cfe14a3.js"><link rel="prefetch" href="/calos/assets/动态代理(CGLIB 与 JDK).html.1f663f5c.js"><link rel="prefetch" href="/calos/assets/如何自定义注解实现功能.html.01198d71.js"><link rel="prefetch" href="/calos/assets/说说 Spring AOP.html.aabcdca2.js"><link rel="prefetch" href="/calos/assets/Session 分布式方案.html.442307d3.js"><link rel="prefetch" href="/calos/assets/分布式事务.html.7ee8dfcf.js"><link rel="prefetch" href="/calos/assets/分布式锁的场景与实现.html.356395fc.js"><link rel="prefetch" href="/calos/assets/谈谈业务中使用分布式的场景.html.0ac12bcc.js"><link rel="prefetch" href="/calos/assets/集群与负载均衡的算法与实现.html.96a65634.js"><link rel="prefetch" href="/calos/assets/你怎么理解 RESTful.html.831175e2.js"><link rel="prefetch" href="/calos/assets/你怎么理解 RPC 框架.html.2c3ac7a5.js"><link rel="prefetch" href="/calos/assets/前后端分离是如何做的.html.f3c52058.js"><link rel="prefetch" href="/calos/assets/如何保证接口的幂等性.html.02ceaee8.js"><link rel="prefetch" href="/calos/assets/如何应对微服务的链式调用异常.html.b4774d97.js"><link rel="prefetch" href="/calos/assets/如何拆分服务.html.95e4453a.js"><link rel="prefetch" href="/calos/assets/如何理解 RESTful API 的幂等性.html.2bfa2ca8.js"><link rel="prefetch" href="/calos/assets/如何解决跨域.html.e8467c26.js"><link rel="prefetch" href="/calos/assets/对于快速追踪与定位问题.html.fbac926c.js"><link rel="prefetch" href="/calos/assets/微服务与 SOA 的区别.html.e6da2c33.js"><link rel="prefetch" href="/calos/assets/微服务哪些框架.html.95d9786b.js"><link rel="prefetch" href="/calos/assets/微服务如何进行数据库管理.html.7dcd9619.js"><link rel="prefetch" href="/calos/assets/微服务的安全.html.ddde5008.js"><link rel="prefetch" href="/calos/assets/怎么考虑数据一致性问题.html.fef8ed43.js"><link rel="prefetch" href="/calos/assets/说说 CAP 定理、 BASE 理论.html.23182626.js"><link rel="prefetch" href="/calos/assets/说说 Dubbo 的实现原理.html.c6e86835.js"><link rel="prefetch" href="/calos/assets/说说 RPC 的实现原理.html.0644d365.js"><link rel="prefetch" href="/calos/assets/说说如何设计一个良好的 API.html.6a4c254f.js"><link rel="prefetch" href="/calos/assets/说说最终一致性的实现方案.html.0837cb59.js"><link rel="prefetch" href="/calos/assets/58 到家 MySQL 军规升级版.html.8f5d2345.js"><link rel="prefetch" href="/calos/assets/MySQL 索引使用的注意事项.html.932475bc.js"><link rel="prefetch" href="/calos/assets/MySQL 遇到的死锁问题.html.075a9a38.js"><link rel="prefetch" href="/calos/assets/ObjectId 规则.html.32307657.js"><link rel="prefetch" href="/calos/assets/limit 20000 加载很慢怎么解决.html.89ef1bb3.js"><link rel="prefetch" href="/calos/assets/为什么要用 B-Tree.html.4e5fc6a9.js"><link rel="prefetch" href="/calos/assets/倒排索引.html.b03a0e77.js"><link rel="prefetch" href="/calos/assets/分库与分表带来的分布式困境与应对之策.html.31226154.js"><link rel="prefetch" href="/calos/assets/存储引擎的 InnoDB 与 MyiSAM.html.019010eb.js"><link rel="prefetch" href="/calos/assets/数据库索引的原理.html.555ce19b.js"><link rel="prefetch" href="/calos/assets/聊聊 ElasticSearch 使用场景.html.399e1fba.js"><link rel="prefetch" href="/calos/assets/聊聊 MongoDB 使用场景.html.c3a965c6.js"><link rel="prefetch" href="/calos/assets/聚集索引与非聚集索引的区别.html.b7b0bebc.js"><link rel="prefetch" href="/calos/assets/说说 SQL 优化之道.html.79586562.js"><link rel="prefetch" href="/calos/assets/说说分库与分表设计.html.1e89876f.js"><link rel="prefetch" href="/calos/assets/说说反模式设计.html.9f612aaf.js"><link rel="prefetch" href="/calos/assets/选择合适的分布式主键方案.html.c728bce9.js"><link rel="prefetch" href="/calos/assets/选择合适的数据存储方案.html.1b0607f8.js"><link rel="prefetch" href="/calos/assets/Redis 为什么是单线程的.html.98ca4da2.js"><link rel="prefetch" href="/calos/assets/Redis 内存淘汰机制.html.8f4b5235.js"><link rel="prefetch" href="/calos/assets/Redis 内部结构.html.6ff0e343.js"><link rel="prefetch" href="/calos/assets/Redis 持久化机制.html.b1f9e3f0.js"><link rel="prefetch" href="/calos/assets/Redis 有哪些类型.html.8e8f797a.js"><link rel="prefetch" href="/calos/assets/Redis 集群方案与实现.html.b4d06ade.js"><link rel="prefetch" href="/calos/assets/使用缓存的合理性问题.html.29a17563.js"><link rel="prefetch" href="/calos/assets/缓存崩溃.html.9b54d4ac.js"><link rel="prefetch" href="/calos/assets/缓存降级.html.e0eae96e.js"><link rel="prefetch" href="/calos/assets/聊聊 Redis 使用场景.html.0c299be8.js"><link rel="prefetch" href="/calos/assets/如何保证消息的有序性.html.0122750a.js"><link rel="prefetch" href="/calos/assets/消息的堆积解决思路.html.5c566777.js"><link rel="prefetch" href="/calos/assets/消息的幂等性解决思路.html.807b9b31.js"><link rel="prefetch" href="/calos/assets/消息的重发补偿解决思路.html.cf6aaf86.js"><link rel="prefetch" href="/calos/assets/消息队列的使用场景.html.7d348476.js"><link rel="prefetch" href="/calos/assets/自己如何实现消息队列.html.ff25cd5e.js"><link rel="prefetch" href="/calos/assets/Netty 内部执行流程.html.f4b133df.js"><link rel="prefetch" href="/calos/assets/Netty 线程模型.html.19bc441e.js"><link rel="prefetch" href="/calos/assets/Netty 重连实现.html.a82253cf.js"><link rel="prefetch" href="/calos/assets/TCP 粘包拆包的解决办法.html.9a936e29.js"><link rel="prefetch" href="/calos/assets/为什么选择 Netty.html.6bf5518b.js"><link rel="prefetch" href="/calos/assets/什么是 TCP 粘包拆包.html.d5f6579a.js"><link rel="prefetch" href="/calos/assets/原生的 NIO 在 JDK 1.7 版本存在 EPoll BUG.html.70e7d8c3.js"><link rel="prefetch" href="/calos/assets/说说 Netty 的零拷贝.html.36475491.js"><link rel="prefetch" href="/calos/assets/说说业务中 Netty 的使用场景.html.238d007a.js"><link rel="prefetch" href="/calos/assets/HTTPS 原理剖析.html.1033efba.js"><link rel="prefetch" href="/calos/assets/HTTPS 降级攻击.html.97e74e2f.js"><link rel="prefetch" href="/calos/assets/基于角色的访问控制.html.564099b6.js"><link rel="prefetch" href="/calos/assets/安全要素与 STRIDE 威胁.html.46583659.js"><link rel="prefetch" href="/calos/assets/授权与认证.html.9b7e7a34.js"><link rel="prefetch" href="/calos/assets/防范常见的 Web 攻击.html.e6b4598c.js"><link rel="prefetch" href="/calos/assets/如何发现性能瓶颈.html.ea8bf6e8.js"><link rel="prefetch" href="/calos/assets/性能指标有哪些.html.07053faa.js"><link rel="prefetch" href="/calos/assets/性能调优的常见手段.html.ee519a99.js"><link rel="prefetch" href="/calos/assets/23 种设计模式的设计理念.html.a6199e09.js"><link rel="prefetch" href="/calos/assets/设计模式之间的异同,例如策略模式与状态模式的区别.html.6bdf2535.js"><link rel="prefetch" href="/calos/assets/设计模式之间的结合,例如策略模式 _ 简单工厂模式的实践.html.f89baf65.js"><link rel="prefetch" href="/calos/assets/设计模式的性能,例如单例模式哪种性能更好.html.765907bd.js"><link rel="prefetch" href="/calos/assets/说说你对设计原则的理解.html.76948e28.js"><link rel="prefetch" href="/calos/assets/说说常用开源框架中设计模式使用分析.html.f4d6ee2d.js"><link rel="prefetch" href="/calos/assets/你如何对需求原型进行理解和拆分.html.9f97a00d.js"><link rel="prefetch" href="/calos/assets/你如何理解用户痛点.html.3a890fac.js"><link rel="prefetch" href="/calos/assets/你针对产品提出哪些交互和改进意见.html.e5432c8a.js"><link rel="prefetch" href="/calos/assets/说说你对功能性需求的理解.html.2031276c.js"><link rel="prefetch" href="/calos/assets/说说你对非功能性需求的理解.html.c30f86f8.js"><link rel="prefetch" href="/calos/assets/你如何划分领域边界.html.2a6050d6.js"><link rel="prefetch" href="/calos/assets/你如何考虑服务化.html.73fd13e6.js"><link rel="prefetch" href="/calos/assets/你如何考虑组件化.html.d48dd753.js"><link rel="prefetch" href="/calos/assets/你如何进行领域建模.html.5f5c6ee1.js"><link rel="prefetch" href="/calos/assets/说说你在项目中使用过的 UML 图.html.17729c34.js"><link rel="prefetch" href="/calos/assets/说说概要设计.html.260c8231.js"><link rel="prefetch" href="/calos/assets/JDK8 新特性.html.fb6eac46.js"><link rel="prefetch" href="/calos/assets/JavaScript this 关键字.html.32bda2d2.js"><link rel="prefetch" href="/calos/assets/MySQL 优化.html.2cf73285.js"><link rel="prefetch" href="/calos/assets/Zookeeper 假死脑裂.html.0da0647f.js"><link rel="prefetch" href="/calos/assets/双亲委派模型.html.94f43361.js"><link rel="prefetch" href="/calos/assets/死信、延迟、重试队列.html.99d86450.js"><link rel="prefetch" href="/calos/assets/面试题补充.html.0f27d59d.js"><link rel="prefetch" href="/calos/assets/404.html.93146c89.js"><link rel="prefetch" href="/calos/assets/index.html.a1ed73f1.js"><link rel="prefetch" href="/calos/assets/index.html.374b203a.js"><link rel="prefetch" href="/calos/assets/map、string、json互转.html.849b6482.js"><link rel="prefetch" href="/calos/assets/nginx屏蔽指定IP.html.640828d7.js"><link rel="prefetch" href="/calos/assets/如何优雅的读取yml配置文件.html.50eaeffd.js"><link rel="prefetch" href="/calos/assets/Windows中杀死占用某个端口的进程.html.f9f1a102.js"><link rel="prefetch" href="/calos/assets/idea快捷键.html.f3af3d67.js"><link rel="prefetch" href="/calos/assets/window下nginx的启动和关闭.html.efde469d.js"><link rel="prefetch" href="/calos/assets/HTTP 请求的 GET 与 POST 方式的区别.html.fdc21331.js"><link rel="prefetch" href="/calos/assets/JDBC 流程.html.7a6ab0ff.js"><link rel="prefetch" href="/calos/assets/equals 与 __ 的区别.html.ced2c662.js"><link rel="prefetch" href="/calos/assets/final_ finally_ finalize 的区别.html.4fca4872.js"><link rel="prefetch" href="/calos/assets/int 和 Integer 有什么区别.html.d7c2191c.js"><link rel="prefetch" href="/calos/assets/session 与 cookie 区别.html.e6f5cf31.js"><link rel="prefetch" href="/calos/assets/session 分布式处理.html.d9a5bdc3.js"><link rel="prefetch" href="/calos/assets/抽象类和接口有什么区别.html.21558884.js"><link rel="prefetch" href="/calos/assets/说说反射的用途及实现.html.056222e8.js"><link rel="prefetch" href="/calos/assets/说说自定义注解的场景及实现.html.534aaadb.js"><link rel="prefetch" href="/calos/assets/重载和重写的区别.html.6387ef0b.js"><link rel="prefetch" href="/calos/assets/面向对象的特征.html.233d0d1a.js"><link rel="prefetch" href="/calos/assets/ArrayList 与 LinkedList 区别.html.a50fd5ab.js"><link rel="prefetch" href="/calos/assets/ArrayList 与 Vector 区别.html.d9073131.js"><link rel="prefetch" href="/calos/assets/ConcurrentHashMap 的工作原理及代码实现.html.7eec60f1.js"><link rel="prefetch" href="/calos/assets/HashMap 和 ConcurrentHashMap 的区别.html.1e8a90fd.js"><link rel="prefetch" href="/calos/assets/HashMap 和 HashTable 的区别.html.74016310.js"><link rel="prefetch" href="/calos/assets/HashMap 的工作原理及代码实现.html.9a20be37.js"><link rel="prefetch" href="/calos/assets/HashSet 和 HashMap 区别.html.a08ea13f.js"><link rel="prefetch" href="/calos/assets/List 和 Map 区别.html.e5602d8b.js"><link rel="prefetch" href="/calos/assets/List 和 Set 区别.html.679ea3ef.js"><link rel="prefetch" href="/calos/assets/ThreadLocal 原理分析.html.23bee3bf.js"><link rel="prefetch" href="/calos/assets/sleep()、join()、yield()有什么区别.html.4bf20e5d.js"><link rel="prefetch" href="/calos/assets/创建线程的方式及实现.html.b8809502.js"><link rel="prefetch" href="/calos/assets/线程池的几种方式与使用场景.html.4fea0b35.js"><link rel="prefetch" href="/calos/assets/线程的生命周期.html.a7facb9b.js"><link rel="prefetch" href="/calos/assets/讲讲线程池的实现原理.html.1c185f2c.js"><link rel="prefetch" href="/calos/assets/说说 CountDownLatch 与 CyclicBarrier 区别.html.24efceb9.js"><link rel="prefetch" href="/calos/assets/说说 CountDownLatch 原理.html.b137424c.js"><link rel="prefetch" href="/calos/assets/说说 CyclicBarrier 原理.html.f49686fa.js"><link rel="prefetch" href="/calos/assets/说说 Exchanger 原理.html.136dd247.js"><link rel="prefetch" href="/calos/assets/说说 Semaphore 原理.html.c26a1d43.js"><link rel="prefetch" href="/calos/assets/01.说说线程安全问题.html.0c45ca49.js"><link rel="prefetch" href="/calos/assets/02.synchronize 实现原理.html.b4f44a1b.js"><link rel="prefetch" href="/calos/assets/03.synchronized 与 lock 的区别.html.b30da31d.js"><link rel="prefetch" href="/calos/assets/04.CAS 乐观锁.html.62c65095.js"><link rel="prefetch" href="/calos/assets/05.ABA 问题.html.f0fbba13.js"><link rel="prefetch" href="/calos/assets/06.乐观锁的业务场景及实现方式.html.1c647d21.js"><link rel="prefetch" href="/calos/assets/07.volatile 实现原理.html.b9f64706.js"><link rel="prefetch" href="/calos/assets/BeanFactory 和 ApplicationContext 有什么区别.html.a9ebebfa.js"><link rel="prefetch" href="/calos/assets/Spring AOP 实现原理.html.cd995f4c.js"><link rel="prefetch" href="/calos/assets/Spring Bean 的生命周期.html.4f45a157.js"><link rel="prefetch" href="/calos/assets/Spring IOC 如何实现.html.6d213922.js"><link rel="prefetch" href="/calos/assets/Spring MVC 启动流程.html.8e705676.js"><link rel="prefetch" href="/calos/assets/Spring MVC 运行流程.html.f77494b6.js"><link rel="prefetch" href="/calos/assets/Spring 事务实现方式.html.00d63f43.js"><link rel="prefetch" href="/calos/assets/Spring 事务底层原理.html.18505c33.js"><link rel="prefetch" href="/calos/assets/Spring 框架中用到了哪些设计模式.html.d4914174.js"><link rel="prefetch" href="/calos/assets/Spring 的单例实现原理.html.247b1453.js"><link rel="prefetch" href="/calos/assets/动态代理(CGLIB 与 JDK).html.7a7457ae.js"><link rel="prefetch" href="/calos/assets/如何自定义注解实现功能.html.9e68d75c.js"><link rel="prefetch" href="/calos/assets/说说 Spring AOP.html.9dfc62f4.js"><link rel="prefetch" href="/calos/assets/Session 分布式方案.html.cb79f9be.js"><link rel="prefetch" href="/calos/assets/分布式事务.html.08748b5c.js"><link rel="prefetch" href="/calos/assets/分布式锁的场景与实现.html.924a3107.js"><link rel="prefetch" href="/calos/assets/谈谈业务中使用分布式的场景.html.6ad140b4.js"><link rel="prefetch" href="/calos/assets/集群与负载均衡的算法与实现.html.240f19dc.js"><link rel="prefetch" href="/calos/assets/你怎么理解 RESTful.html.9aa7a688.js"><link rel="prefetch" href="/calos/assets/你怎么理解 RPC 框架.html.6b8a2045.js"><link rel="prefetch" href="/calos/assets/前后端分离是如何做的.html.b4d76043.js"><link rel="prefetch" href="/calos/assets/如何保证接口的幂等性.html.eedfe7ce.js"><link rel="prefetch" href="/calos/assets/如何应对微服务的链式调用异常.html.d57de2a6.js"><link rel="prefetch" href="/calos/assets/如何拆分服务.html.ecb6723a.js"><link rel="prefetch" href="/calos/assets/如何理解 RESTful API 的幂等性.html.c34edc31.js"><link rel="prefetch" href="/calos/assets/如何解决跨域.html.4aa1a376.js"><link rel="prefetch" href="/calos/assets/对于快速追踪与定位问题.html.49e5a065.js"><link rel="prefetch" href="/calos/assets/微服务与 SOA 的区别.html.a0be7194.js"><link rel="prefetch" href="/calos/assets/微服务哪些框架.html.fcacd10d.js"><link rel="prefetch" href="/calos/assets/微服务如何进行数据库管理.html.336cdc45.js"><link rel="prefetch" href="/calos/assets/微服务的安全.html.a4fcbf8e.js"><link rel="prefetch" href="/calos/assets/怎么考虑数据一致性问题.html.a5ffe198.js"><link rel="prefetch" href="/calos/assets/说说 CAP 定理、 BASE 理论.html.f9ccee4e.js"><link rel="prefetch" href="/calos/assets/说说 Dubbo 的实现原理.html.807170fd.js"><link rel="prefetch" href="/calos/assets/说说 RPC 的实现原理.html.157a5733.js"><link rel="prefetch" href="/calos/assets/说说如何设计一个良好的 API.html.7aa7fd98.js"><link rel="prefetch" href="/calos/assets/说说最终一致性的实现方案.html.a7f8bb1c.js"><link rel="prefetch" href="/calos/assets/58 到家 MySQL 军规升级版.html.b22f01f3.js"><link rel="prefetch" href="/calos/assets/MySQL 索引使用的注意事项.html.c61e1a9b.js"><link rel="prefetch" href="/calos/assets/MySQL 遇到的死锁问题.html.06a693e9.js"><link rel="prefetch" href="/calos/assets/ObjectId 规则.html.1d64897f.js"><link rel="prefetch" href="/calos/assets/limit 20000 加载很慢怎么解决.html.e8116596.js"><link rel="prefetch" href="/calos/assets/为什么要用 B-Tree.html.78f482e3.js"><link rel="prefetch" href="/calos/assets/倒排索引.html.47ef3826.js"><link rel="prefetch" href="/calos/assets/分库与分表带来的分布式困境与应对之策.html.fba6f03a.js"><link rel="prefetch" href="/calos/assets/存储引擎的 InnoDB 与 MyiSAM.html.2c49bd3b.js"><link rel="prefetch" href="/calos/assets/数据库索引的原理.html.c70b4ac9.js"><link rel="prefetch" href="/calos/assets/聊聊 ElasticSearch 使用场景.html.c30c0210.js"><link rel="prefetch" href="/calos/assets/聊聊 MongoDB 使用场景.html.472e9ea2.js"><link rel="prefetch" href="/calos/assets/聚集索引与非聚集索引的区别.html.dca6d34c.js"><link rel="prefetch" href="/calos/assets/说说 SQL 优化之道.html.d8f2f3c2.js"><link rel="prefetch" href="/calos/assets/说说分库与分表设计.html.701ea4c6.js"><link rel="prefetch" href="/calos/assets/说说反模式设计.html.cbc0a641.js"><link rel="prefetch" href="/calos/assets/选择合适的分布式主键方案.html.a7f59960.js"><link rel="prefetch" href="/calos/assets/选择合适的数据存储方案.html.5363745a.js"><link rel="prefetch" href="/calos/assets/Redis 为什么是单线程的.html.a3c02dee.js"><link rel="prefetch" href="/calos/assets/Redis 内存淘汰机制.html.28f51ce5.js"><link rel="prefetch" href="/calos/assets/Redis 内部结构.html.aab17eb7.js"><link rel="prefetch" href="/calos/assets/Redis 持久化机制.html.3e027284.js"><link rel="prefetch" href="/calos/assets/Redis 有哪些类型.html.4139ce3b.js"><link rel="prefetch" href="/calos/assets/Redis 集群方案与实现.html.fc9706d1.js"><link rel="prefetch" href="/calos/assets/使用缓存的合理性问题.html.131955a5.js"><link rel="prefetch" href="/calos/assets/缓存崩溃.html.71decad2.js"><link rel="prefetch" href="/calos/assets/缓存降级.html.75fc0ecd.js"><link rel="prefetch" href="/calos/assets/聊聊 Redis 使用场景.html.01ea1287.js"><link rel="prefetch" href="/calos/assets/如何保证消息的有序性.html.e154596c.js"><link rel="prefetch" href="/calos/assets/消息的堆积解决思路.html.90ec0e25.js"><link rel="prefetch" href="/calos/assets/消息的幂等性解决思路.html.dd801055.js"><link rel="prefetch" href="/calos/assets/消息的重发补偿解决思路.html.c277616f.js"><link rel="prefetch" href="/calos/assets/消息队列的使用场景.html.3eea43d9.js"><link rel="prefetch" href="/calos/assets/自己如何实现消息队列.html.634152e2.js"><link rel="prefetch" href="/calos/assets/Netty 内部执行流程.html.2adaf582.js"><link rel="prefetch" href="/calos/assets/Netty 线程模型.html.fac32c2f.js"><link rel="prefetch" href="/calos/assets/Netty 重连实现.html.01c01b34.js"><link rel="prefetch" href="/calos/assets/TCP 粘包拆包的解决办法.html.45b45a7b.js"><link rel="prefetch" href="/calos/assets/为什么选择 Netty.html.26362e6a.js"><link rel="prefetch" href="/calos/assets/什么是 TCP 粘包拆包.html.339f26a9.js"><link rel="prefetch" href="/calos/assets/原生的 NIO 在 JDK 1.7 版本存在 EPoll BUG.html.721a8f6c.js"><link rel="prefetch" href="/calos/assets/说说 Netty 的零拷贝.html.4c4f2194.js"><link rel="prefetch" href="/calos/assets/说说业务中 Netty 的使用场景.html.7bbbc773.js"><link rel="prefetch" href="/calos/assets/HTTPS 原理剖析.html.c2c5e8c7.js"><link rel="prefetch" href="/calos/assets/HTTPS 降级攻击.html.545481b8.js"><link rel="prefetch" href="/calos/assets/基于角色的访问控制.html.74da01bb.js"><link rel="prefetch" href="/calos/assets/安全要素与 STRIDE 威胁.html.fc99c164.js"><link rel="prefetch" href="/calos/assets/授权与认证.html.2a2ae115.js"><link rel="prefetch" href="/calos/assets/防范常见的 Web 攻击.html.c3182ce0.js"><link rel="prefetch" href="/calos/assets/如何发现性能瓶颈.html.6d85545c.js"><link rel="prefetch" href="/calos/assets/性能指标有哪些.html.e668b606.js"><link rel="prefetch" href="/calos/assets/性能调优的常见手段.html.32b91a1c.js"><link rel="prefetch" href="/calos/assets/23 种设计模式的设计理念.html.c72aeb61.js"><link rel="prefetch" href="/calos/assets/设计模式之间的异同,例如策略模式与状态模式的区别.html.a7242f1e.js"><link rel="prefetch" href="/calos/assets/设计模式之间的结合,例如策略模式 _ 简单工厂模式的实践.html.8a8dcced.js"><link rel="prefetch" href="/calos/assets/设计模式的性能,例如单例模式哪种性能更好.html.1fc41f27.js"><link rel="prefetch" href="/calos/assets/说说你对设计原则的理解.html.4d640634.js"><link rel="prefetch" href="/calos/assets/说说常用开源框架中设计模式使用分析.html.764e5d5f.js"><link rel="prefetch" href="/calos/assets/你如何对需求原型进行理解和拆分.html.3833ba8f.js"><link rel="prefetch" href="/calos/assets/你如何理解用户痛点.html.ef8fc2f1.js"><link rel="prefetch" href="/calos/assets/你针对产品提出哪些交互和改进意见.html.27650a2a.js"><link rel="prefetch" href="/calos/assets/说说你对功能性需求的理解.html.0a210913.js"><link rel="prefetch" href="/calos/assets/说说你对非功能性需求的理解.html.f08521ef.js"><link rel="prefetch" href="/calos/assets/你如何划分领域边界.html.c9312ae0.js"><link rel="prefetch" href="/calos/assets/你如何考虑服务化.html.2b81f8cf.js"><link rel="prefetch" href="/calos/assets/你如何考虑组件化.html.69667337.js"><link rel="prefetch" href="/calos/assets/你如何进行领域建模.html.690adcd2.js"><link rel="prefetch" href="/calos/assets/说说你在项目中使用过的 UML 图.html.bcd3df96.js"><link rel="prefetch" href="/calos/assets/说说概要设计.html.23ba86cf.js"><link rel="prefetch" href="/calos/assets/JDK8 新特性.html.179387b9.js"><link rel="prefetch" href="/calos/assets/JavaScript this 关键字.html.d7519b39.js"><link rel="prefetch" href="/calos/assets/MySQL 优化.html.af766374.js"><link rel="prefetch" href="/calos/assets/Zookeeper 假死脑裂.html.c723f144.js"><link rel="prefetch" href="/calos/assets/双亲委派模型.html.cacf3581.js"><link rel="prefetch" href="/calos/assets/死信、延迟、重试队列.html.193604a7.js"><link rel="prefetch" href="/calos/assets/面试题补充.html.ce53e193.js"><link rel="prefetch" href="/calos/assets/404.html.b4eaed03.js"><link rel="prefetch" href="/calos/assets/404.d9328e95.js"><link rel="prefetch" href="/calos/assets/Layout.7a43bad6.js">
<link rel="stylesheet" href="/calos/assets/style.3a5a5d5f.css">
</head>
<body>
<div id="app"><!--[--><div class="theme-container no-sidebar"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a aria-current="page" href="/calos/" class="router-link-active router-link-exact-active"><img class="logo" src="https://vuejs.org/images/logo.png" alt="三更编程"><span class="site-name can-hide">三更编程</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><a href="/calos/面试宝典/" class="" aria-label="面试宝典"><!--[--><!--]--> 面试宝典 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/calos/FQA/" class="" aria-label="问题集锦"><!--[--><!--]--> 问题集锦 <!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-dark-button" title="toggle dark mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><!----></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-items"><!--[--><div class="navbar-item"><a href="/calos/面试宝典/" class="" aria-label="面试宝典"><!--[--><!--]--> 面试宝典 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/calos/FQA/" class="" aria-label="问题集锦"><!--[--><!--]--> 问题集锦 <!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><!----><!--[--><!--]--></aside><!--]--><!--[--><main class="home"><header class="hero"><img src="/calos/img/23.png" alt="三更编程-卡洛小豆"><h1 id="main-title">三更编程-卡洛小豆</h1><p class="description">化繁为简,大道归一</p><!----></header><div class="features"><!--[--><div class="feature"><h2>编程学习</h2><p>记录编程学习过程中积累的知识点 整理,吸收,吐纳,归档。吾将上下而求索...</p></div><div class="feature"><h2>项目实践</h2><p>专注记录做项目的过程,分享做项目的经历,记录整个过程的遇到的问题和解决方案,以及在这段时间内的收获和感悟</p></div><div class="feature"><h2>随笔</h2><p>活着,是一件最能带来满足感的事。细细琢磨吧,人生啊,有意思的很...</p></div><!--]--></div><div class="theme-default-content custom"><div class="custom content default"><div class="features"><div class="feature"><h2>微信</h2><p><img src="/calos/img/wx.jpg" class="medium-zoom-image"></p></div><div class="feature"><h2>加群讨论</h2><p><img src="/calos/img/qq.png" class="medium-zoom-image"></p></div><div class="feature"><h2>公众号</h2><p><img src="/calos/img/gzh.png" class="medium-zoom-image"></p></div></div></div></div><!--[--><div class="footer">MIT Licensed | Copyright © 2020.05.26 Calos- All Rights Reserved</div><!--]--></main><!--]--></div><!----><!--]--></div>
<script type="module" src="/calos/assets/app.3c01b79d.js" defer></script>
</body>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/superyouth/calos.git
git@gitee.com:superyouth/calos.git
superyouth
calos
calos
master

搜索帮助