按时间归档:2021年
-
Extendible Hash Table 算法实现
Extendible Hash Table 属于动态哈希的一种,网上有很多关于它的介绍,但是真的在实现它的时候,或多或少有着很多问题。网上很多教程光讲怎么扩容,不讲收缩,而且网上很…
-
2021 CS144 实验笔记
计算机网络一直是自己的薄弱项,因为感觉知识都是死记硬背,背完就忘。那就索性学一下 CS144,顺带梳理一下整个的网络流程。这篇笔记不光记录实验过程,也会记录相关的网络笔记。 整个项…
-
2021 MIT 6.824 札记
满打满算花了 25 天完成了 2021 MIT 6.824 的 4 个 lab,这里记录下自己遇到的坑和设计思路,为后续者参考。 这里个人给的难度评级是 Lab 2 > La…
-
理解 FLP-Impossibility 论文
FLP 这篇论文在分布式领域有着重要的作用,当然,这篇文章也写得晦涩难懂。这是第一篇我死扣每个字读下来的分布式论文,十分吃力,在此记录下,并且竟可能写的简单,希望能够帮助初入分布式…
-
理解 TCP
此文章仅为笔记,不推荐大家观看。 TCP Header 上面每一个方格代表 8 位,所以序列号有 4×8 = 32 位 源端口,目标端口:TCP 里面不包含 IP 地址,…
-
操作系统并发
Terms Critical section: piece of code that accesses a shared resource. Race condition: 多个线…
-
CPU Scheduling Policies 调度算法
本文只写给自己,所以比较粗糙。 调度衡量指标 Turnaround time Turnaround time = 任务完成时间-任务到达时间$$T_{turnaround} = T…
-
用 Java 实现一个可用的布隆过滤器(Bloom Filter)
布隆过滤器可以使用极少的空间来判断一个元素是否存在某一个集合中,本文不具体讨论布隆过滤器的原理,而是探讨如何实现一个可用的布隆过滤器。 本文代码提取自 Apache ORC 项目。…
-
HTrace 与 Zipkin 简单教程
最近阅读 HDFS 的源码,看到在 DFSClient 中很多地方用到了 HTrace 这款框架,所以特意学习下。 HTrace 是一款由 Cloudera 开发的分布式追踪框架,…
-
JDK 动态代理踩坑
最近阅读 Hadoop 的源码,看到各种动态代理,打算学习下。虽然以前也学过,但是感觉就是死记硬背的代码,有些地方根本不懂。温习了一遍网上 JDK 动态代理的教程后,自己尝试再一次…