Commit Graph
4198 Commits
Author SHA1 Message Date
CyC2018 fa4382b063 Merge pull request #1493 from CyC2018/update-backend-notes
Update Spring、分布式和消息队列
2026-10-28 13:39:10 +08:00
CyC2018 61ae5ed4d4 Merge pull request #1492 from CyC2018/update-network-notes
Update 网络相关笔记
2026-10-28 13:39:03 +08:00
CyC2018 b0bcd08aba Merge pull request #1491 from CyC2018/update-os-notes
Update 计算机操作系统 notes
2026-10-28 13:38:54 +08:00
CyC2018 7614bfadf7 Merge pull request #1490 from CyC2018/update-java-notes
Update Java notes
2026-10-28 13:38:47 +08:00
CyC2018 75ac24652c Merge pull request #1489 from CyC2018/update-database-notes
Update MySQL、数据库系统原理、Redis 和缓存
2026-10-28 13:38:41 +08:00
CyC2018 31d813385c Merge pull request #1488 from CyC2018/update-system-design
Update 系统设计基础.md
2026-10-28 13:38:34 +08:00
CyC2018 c446be1e6e Merge pull request #1487 from CyC2018/proofread-notes
Update notes
2026-10-28 13:38:28 +08:00
CyC2018 528951ea52 Update 消息队列.md
补充消费端幂等、三种消息队列的对比、消息积压的排查、零拷贝与 mmap、Redis 做消息队列的方式和不丢消息的配置,增加实测附录。
2026-10-28 13:35:28 +08:00
CyC2018 d514b7c84f Update 计算机网络 - 应用层.md
补充 URL 解析的结果、DNS 的 TTL、劫持与污染的防范和 CDN 调度,增加实测附录。
2026-10-28 13:35:27 +08:00
CyC2018 edd594e10d Update 分布式.md
补充 Redisson 看门狗与可重入、Seata 的角色与模式、秒杀场景下分布式锁的替代、gRPC 与 RPC 的帧格式、幂等键与防重复下单、ZAB 与 Raft 的对比,增加配图和实测附录。
2026-10-28 13:35:27 +08:00
CyC2018 3ae174796f Update HTTP.md
补充 SSE 的格式与重连、WebSocket 帧结构、跨域的其它方案、证书校验与抓包原理、TLS 套件中的算法、Cookie 与 Web Storage 的对比,增加实测附录。
2026-10-28 13:35:27 +08:00
CyC2018 b03a164072 Update Spring.md
补充 Bean 的声明与注册、IoC 的实现过程、自定义注解的切面、编程式事务、自定义 starter、AOP 与拦截器的区别、JDK 动态代理只能代理接口的原因和 FactoryBean,增加实测附录。
2026-10-28 13:35:27 +08:00
CyC2018 bdad4acc63 Update 计算机网络 - 传输层.md
补充握手和挥手过程中的状态、TCP 与 UDP 的选择、在 UDP 上实现可靠传输、握手报文丢失的处理和挥手能否合并,增加配图和实测附录。
2026-10-28 13:35:27 +08:00
CyC2018 5f2a46c13e Update 计算机操作系统 - 概述.md
补充特权级、read 系统调用的执行过程、系统调用的开销与减少开销的方法、写文件与零拷贝,更新中断分类的描述,重新绘制配图,增加实测附录。
2026-10-28 13:35:26 +08:00
CyC2018 358f465c7d Update Socket.md
补充 select、poll 每次调用的开销,epoll 的红黑树与就绪链表,LT 与 ET 的例子,Reactor、惊群、io_uring 等应用场景,重新绘制配图,增加实测附录。
2026-10-28 13:35:26 +08:00
CyC2018 665be3526b Update 计算机操作系统 - 死锁.md
补充死锁的定义、分布式锁的超时、MySQL 间隙锁和唯一键冲突引起的死锁及排查方法,增加实测附录。
2026-10-28 13:35:26 +08:00
CyC2018 39ae5018ac Update Java 虚拟机.md
补充 GC Roots 的原因、打破双亲委派、G1 Region 的大小、JDK 8 的默认收集器、ThreadLocalMap 使用弱引用的原因、CPU 利用率低但负载高的排查,更新压缩指针和 ZGC 停顿的描述,增加实测附录。
2026-10-28 13:35:25 +08:00
CyC2018 d0d002b911 Update 计算机操作系统 - 内存管理.md
补充缺页异常的处理流程和进程虚拟地址空间的布局,增加配图和实测附录。
2026-10-28 13:35:25 +08:00
CyC2018 d91281dea5 Update 计算机操作系统 - 进程管理.md
补充多进程与多线程的选型、协程调度、线程共享与独有的资源、虚拟线程的开销与限制、Go 的 GMP、共享内存和 PCID,增加配图和实测附录。
2026-10-28 13:35:25 +08:00
CyC2018 b756a14cb6 Update 缓存.md
补充缓存击穿的互斥锁和逻辑过期、布隆过滤器的误判率与参数、LRU 的线程安全,增加实测附录。
2026-10-28 13:35:24 +08:00
CyC2018 50eb5c9c38 Update Java 并发.md
补充 synchronized 的字节码与 ObjectMonitor、volatile 的可见性示例、x86 上的内存屏障、LongAdder 和 InheritableThreadLocal,增加实测附录。
2026-10-28 13:35:24 +08:00
CyC2018 5648054226 Update Redis.md
补充 SDS 的空间预分配、RDB 与 AOF 的对比、计数器与数据库热点行的对比,增加实测附录。
2026-10-28 13:35:24 +08:00
CyC2018 afed0a324e Update Java 容器.md
补充哈希冲突的其它解决方法、线程安全的集合、ArrayList 并发 add 的问题和红黑树阈值的原因,增加实测附录。
2026-10-28 13:35:24 +08:00
CyC2018 b2975b520f Update 数据库系统原理.md
补充提交读下的加锁范围和没有索引时当前读的加锁,增加实测附录。
2026-10-28 13:35:24 +08:00
CyC2018 c80432e652 Update Java 基础.md
补充 finally 的执行规则、final/finally/finalize 的对比、flatMap、Object.hashCode 的默认实现、HashMap 判断相等的顺序和泛型信息的保留,增加实测附录。
2026-10-28 13:35:24 +08:00
CyC2018 ca739969ca Update MySQL.md
补充分库分表的时机、分片键的选择、不带分片键的查询、跨分片的排序和分页、binlog 的三种格式和覆盖索引时的执行计划,更新可重复读与幻读的表述。
2026-10-28 13:35:24 +08:00
CyC2018 c65decc013 Update 系统设计基础.md
补充高并发系统的设计、大文件上传和权限系统三节,增加配图和实测附录,附录重新编号。
2026-10-28 13:35:22 +08:00
CyC2018 5da1579c1a Update 设计模式 - 适配器.md
删除 JDK 11 起移除的 XmlAdapter 条目。
2026-10-28 13:35:22 +08:00
CyC2018 9d59c01fb5 Update 设计模式 - 迭代器.md
Client 与 Aggregate、Iterator 之间的关系改为依赖。
2026-10-28 13:35:22 +08:00
CyC2018 7b03ef7a69 Update 设计模式 - 责任链.md
标注不属于 JDK 的条目。
2026-10-28 13:35:22 +08:00
CyC2018 2d24daad1b Update 设计模式 - 解释器.md
解析树示例中 B 和 C 之间补上 Or。
2026-10-28 13:35:21 +08:00
CyC2018 7174f250e6 Update 设计模式 - 观察者.md
标注 java.util.Observer 已废弃,以及不属于 JDK 的条目。
2026-10-28 13:35:21 +08:00
CyC2018 706de9e2bf Update 设计模式 - 组合.md
更新代码注释中透明性与单一职责原则的取舍。
2026-10-28 13:35:21 +08:00
CyC2018 c11e96030e Update 设计模式 - 生成器.md
示例代码补充 import。
2026-10-28 13:35:21 +08:00
CyC2018 51c20cc26b Update 设计模式 - 模板方法.md
JDK 中的应用改为 InputStream#read(byte[], int, int)。
2026-10-28 13:35:21 +08:00
CyC2018 c95f7d2847 Update 设计模式 - 工厂方法.md
删除 JDK 11 起移除的 JAXBContext 条目。
2026-10-28 13:35:21 +08:00
CyC2018 d043b9771f Update 设计模式 - 备忘录.md
意图改为恢复到之前保存的状态。
2026-10-28 13:35:21 +08:00
CyC2018 0973216312 Update 设计模式 - 命令.md
标注 Netflix Hystrix 不属于 JDK。
2026-10-28 13:35:21 +08:00
CyC2018 7159f95bbc Update 设计模式 - 代理.md
URL 改用 URI.create().toURL() 创建。
2026-10-28 13:35:21 +08:00
CyC2018 05a959bfe7 Update 设计模式 - 享元.md
更新 Java 中缓存小对象的作用说明。
2026-10-28 13:35:21 +08:00
CyC2018 e1ae5ab414 Update 设计模式 - 单例.md
罗马数字标题改为编号,更新双重校验锁的步骤说明和枚举单例的反射测试,标注 getSecurityManager() 已废弃。
2026-10-28 13:35:21 +08:00
CyC2018 b2912195dd Update SQL 练习.md
存储函数声明 READS SQL DATA,开启 binlog 时也能创建。
2026-10-28 13:35:21 +08:00
CyC2018 fb32430350 Update SQL 语法.md
更新主键、子查询和变量赋值的说明,游标示例在取不到数据时不再输出,补充 BEFORE 触发器可以修改 NEW。
2026-10-28 13:35:21 +08:00
CyC2018 f2d8fb1cb7 Update 计算机操作系统 - 链接.md
共享目标文件可以在加载或者运行时链接。
2026-10-28 13:35:21 +08:00
CyC2018 7a1d314515 Update 计算机网络 - 链路层.md
补充 PPP 帧中 A、C 字段的取值和协议字段,更新 802.1Q 标签位置的描述。
2026-10-28 13:35:21 +08:00
CyC2018 4a9ebe1b2a Update 计算机网络 - 物理层.md
更新正交振幅调制的例子。
2026-10-28 13:35:21 +08:00
CyC2018 32337d572c Update 计算机网络 - 概述.md
更新分组的组成、电路交换占用线路和路由器转发时用到的协议层次。
2026-10-28 13:35:20 +08:00
CyC2018 ac043e5d4e Update 面向对象思想.md
更新依赖关系三种形式中类的方向,说明发送消息即调用方法。
2026-10-28 13:35:20 +08:00
CyC2018 4ebba824ea Update Java IO.md
更新 char 与 UTF-16 编码、getBytes() 默认编码的说明,URL 改用 URI.create().toURL() 创建。
2026-10-28 13:35:20 +08:00
CyC2018 6c96036e08 Update 集群.md
更新四层负载均衡中数据包的处理位置和链路层负载均衡的特点。
2026-10-28 13:35:20 +08:00