Table of Contents generated with DocToc
- 1 env_logger 记录日志
- 2 tracing 记录日志
- 1 COPY 浅拷贝: 赋值或传参会优先使用 Copy 语义
- 2 Move 转移所有权:无 Copy,赋值或者传参会导致值 Move
- 3 Borrow 借用(通过 & 或者 &mut)
- 4 多个所有者
- 4.1 非线程安全 Rc(Reference counter 只读引用计数器)
- 4.2 非线程安全 RefCell 实现内部可变性
- 4.3 线程安全 Arc(Atomic reference counter)
- 4.4 线程安全 Mutex 和 RwLock 实现内部可变性
- 5 Clone 数据深拷贝
- 1 静态生命周期 和 动态生命周期
- 2 生命周期标注(lifetime specifier)
- 1 enum、Option 以及 Result 的布局
- 2 move and copy 内存模型
- 1 参数多态 (parametric polymorphism)
- 1.1 泛型参数 R 的数据结构体,使用时再限制
- 1.2 泛型函数
- 2 特设多态 (adhoc polymorphism)
- 3 子类型多态(subtype polymorphism)
- 4 AsRef 类型转换
- 5 Deref解引用运算符(*)的重载:直接访问 Vec 的方法
- 1 COW(Clone on write 写时克隆) 智能指针
- 2 mutexGuard 智能指针
- 1 动态数组 Vector 的 切片引用&[T] 和 数组[T; n] 的 切片引用&[T] 对比
- 2 动态数组 Vector 和 数组 [T; n] 如何转化成 &[T]
- 3 String、&String 转换成 &str
- 1 hashmap cap 扩容和缩容
- 2 HashSet
- 3 BTreeMap
- 1 验证 Ordering 的可见性:两线程并发增加值
- 容易大于 1000000
- 最多只能 1000000
- 1 Condvar 条件变量
- 2 Future
- 2.1 await 来执行 future,或则使用一个 executor 来执行 future
- 2.2 将值固定到栈上
- 2.3 将值固定到堆上
- 2.4 将固定住的 Future 变为 Unpin
- 3 tokio
- 3.1 #[tokio::main] 的作用
- 3.2 消息通道: mpsc 多生产者,单消费者模式
- 3.3 消息通道: watch 单生产者、多消费者
- 1 声明宏(declarative macro)
- 2 过程宏(procedural macro)
- 2.1 派生宏(derive macro)
- 2.2 属性宏(attribute macro)