滚动网页时固定表头

当网页的表格高度比较大时,比如超过一屏,我们希望表头能够一直显示,就像 Excel 的“首行冻结”一样。
搜索一下,看到一种思路是表头写两个,第一个只有表头,默认不显示,定位为 fixed 在顶部,第二个有表头和数据单元格。
然后滚动网页时,使用 js 计算表头是否应该显示,实时的设置可见性。

示例如下:
继续阅读“滚动网页时固定表头”

B+ 树的插入与删除(Java 实现)

上周在某公众号看到一个掘金小册的推荐,《MySQL 是怎样运行的:从根儿上理解 MySQL》。购买后看了前几篇,真的写得非常好,看到索引后的章节,讲“表空间”的一章,稍微有点吃力了,因为这一章出现了太多名词,所以暂停了往下看。作者在前面讲索引时提到 B+ 树,但由于本小册主要是讲 MySQL 因此并没有细说 B+ 树如何插入、删除,于是我就自己搜了一下。

关于 B+ 树的资料,搜索出来肯定很多。但是有些内容的质量真是低下(而且我发现必应也会在搜索结果最底部推荐广告了),不过还是被我找到了一篇写得很棒的文章:《B树和B+树的插入、删除图文详解》

这篇文章把 B+ 树的插入删除算法都写得挺详细了,而且有图例说明,强烈推荐。于是我就跟着文章的算法用 Java 尝试实现了 B+ 树这个数据结构。 继续阅读“B+ 树的插入与删除(Java 实现)”