LRU缓存
LRU简介构建双向链表,使用HashMap来进行contains。使用ReentrantLock来控制并发访问,当发生put或者get的请求,把对应的数据move到头部,当容量满了之后,淘汰末尾的数据;代码实现定义双向链表的节点 class CacheNode<K, V>{
RAIIRust 的变量不只是在栈中保存数据:它们也占有资源,比如 Box 占有 堆(heap)中的内存。Rust 强制实行 RAII(Resource Acquisition Is Initiallization,资源获取即初始化),所以任何对象在离开作用域时,它的析构函数就被调用,然后它占有的资
rust入坑之旅-泛型
Rust的包结构,根据代码层次来划分逻辑模块,Rust的模块如同其他语言的package,不同点在于模块可以包含函数,Struct trait impl块, 或者包含其他的模块。可见性默认情况下,模块中的项拥有私有的可见性(私有的),不过可以加上 pub修饰语来重载这一行为。模块中只有公有的项可以从
Rust 中的闭包(closure),也叫做 lambda 表达式 是这样式的|val| val + x。Java中的lambda 表达式 是这样的 x -> !x.equals("") 是一类输入和输出可以自动推导,而捕获周围作用域中变量必须声明的函数。
rust入坑之旅-枚举和模式匹配