TiDB 前言// TODO HTAPHTAP 是 Hybrid Transactional/Analytical Processing(混合事务/分析处理)的缩写。 2025-08-12 分布式 > 分布式数据库
分布式数据结构 前言// TODO Chord:A Scalable Peer-to-Peer Lookup Service for InternetPastry:scalable, Distributed Object Location, and Routing for Large-Scale Peer-to-Peer SystemKademlia: A peer-to-peer infor 2025-08-12 分布式 > 分布式数据结构 #分布式 #分布式数据结构
分布式一致性算法 这篇主要梳理分布式一致性领域几篇经典论文。它们回答的是同一类问题:当节点会宕机、网络会延迟甚至丢包时,系统怎样对“某个值”或“某个日志顺序”达成一致。 可以先建立一个总脉络: 事务提交问题关注的是“这次事务到底提交还是回滚” 共识问题关注的是“多个副本最终到底认同哪个值” 状态机复制则是在共识之上更进一步,要求大家对同一串日志顺序达成一致 理论上有 FLP 不可能性约束,工程上则依赖超时、领导者 2025-08-12 分布式 > 分布式基础 #分布式 #分布式一致性算法
分布式中的逻辑时钟与物理时钟 分布式基础理论:时间、时钟与事件顺序 前言分布式系统的核心挑战之一在于缺乏全局统一的共享内存和绝对参考时间。本文基于 Lamport 的经典奠基论文 《Time, Clocks, and the Ordering of Events in a Distributed System》,深入探讨分布式系统中的基础时钟理论,包括逻辑时钟(Logical Clock)、物理时钟同步(Physical C 2025-08-12 分布式 > 理论基础 #分布式 #分布式因果关系
分布式系统实现 GFS:Google File System背景与设计目标GFS(Google File System)是Google为解决海量数据存储问题而设计的分布式文件系统。与传统的分布式文件系统不同,GFS的设计目标紧密围绕Google的业务场景: 使用廉价机器:系统由大量普通PC服务器组成,硬件故障是常态而非异常 存储大文件:典型文件大小为数百MB到数GB,需要支持数TB的数据集 追加写为主:写操作几 2025-08-12 分布式 > 系统实现 #分布式 #系统实现
系统调用 系统调用Linux多路复用poll & select & epoll 特性 select poll epoll 出现时间 最早(BSD) 后来(POSIX 标准) Linux 2.6(现代) 监听方式 位图(fd_set) 数组(pollfd) 内核事件表(epoll实例) fd 上限 1024(默认) 无限制 无限制 事件通知机制 轮询(O(n)) 轮询(O 2025-08-12 基础理论 > 操作系统
JVM自动内存管理 内存管理运行时数据区运行时数据区包括:方法区、虚拟机栈、本地方法栈、堆、和程序计数器。 程序计数器程序计数器(PC)是 JVM 线程私有的寄存器,用于记录当前线程执行的字节码指令地址。为了让线程切换时,下一线程能够准确回到正确的执行位置,每个线程都有一个独立的程序计数器。 场景 PC 的值 原因 执行 Java 字节码 指向当前字节码指令地址 JVM 正常执行 Java 代码时,P 2025-08-12 Java > JVM #Java #JVM
Java基础 Java基础知识静态方法与非静态成员静态方法是属于类的,而非静态成员属于实例对象,前者在类加载的时候就会分配内存,而后者只有在对象实例化之后才会加载,因此静态方法不能访问非静态成员。 可变长参数在jdk5后引入,参数后会加上...以表示可变长参数,当一个可变长参数的函数重载另一个函数会后,调用会优先选择范围可定的函数。 123public void methodName(Type... param 2025-08-12 Java > Java基础
Java基础数据结构 数据结构1.基本数据类型Java中基本数据类型有8种:short(2 Byte), int(4 Byte), float(4 Byte) , long(8 Byte), double(8 Byte), byte(1 Byte), boolean(1 bit), char(1 Byte) 数据类型 关键字 大小 取值范围 默认值 包装类 字节型 byte 1字节 -128 ~ 127 0 2025-08-12 Java > Java基础 #数据结构与算法 #Java
JVM类加载 类的生命周期 加载 验证(连接) 准备(连接) 解析(连接) 初始化 使用 卸载 类加载过程如何加载.class文件 主要分为三步:加载->连接->初始化 加载类的加载是指将类的字节码从某个介质加载到JVM内存中。此时JVM需要根据类的全限定名(包括包名和类名)来查找文件。 查找类:JVM会通过类加载器ClassLoader根据类名找到类的.class文件 例如:通过系统类路径c 2025-08-12 Java > Java基础 #Java #JVM