Golang从0到1实现简易版expired LRU cache带图解

thbcm阅读(168)

想要做到O(1)的Get,我们很容易想到
使用哈希表来存储每个key对应的value;要想实现O(1)的Put,并且能当容量满了的时候自动弹出最久未使用的元素,单纯使用哈希表是比较难实现的,因此我们可以使用一个
双向链表
头部存放最新被使用的节点
尾部存放最久未使用的节点。那么哈希表只需要
记录key到node的映射,就能让我们快速的追踪到节点在双向链表中的位置。

Tailwind CSS一些你需要记住的原子类

thbcm阅读(181)

使用Tailwind CSS有快二年了,有插件的支持和一些原子化类名本身就有一定语义在使用上还是比较流畅的,但是有一些原子化类名是我每次使用心里都会咯咚一下的,费此思索的,还有一些特殊原子类是可以简化实现效果的,今天整理总结一下并当复习了。

重生之我是操作系统(十)—-I/O管理

thbcm阅读(181)

CPU
无法直接控制I/O设备的机械部分(比如硬盘的磁臂,显示器的灯珠等),因此I/O设备还要有一个电子设备作为”中转”,由I/O设备提供给CPU,实现CPU对I/O设备的控制。这个设备叫做
I/O控制器

docker镜像仓库

thbcm阅读(342)

Docker镜像仓库主要分为公共镜像仓库和私有镜像仓库。

联系我们