面试题答案
一键面试1. 复用内存
- 方法:通过
Vec
等容器类型的retain
、resize
等方法,避免不必要的内存重新分配。例如,Vec
在容量足够时添加元素不会重新分配内存。 - 适用场景:适用于数据量在运行时动态变化,但变化范围可预测的场景,比如先初始化一个较大容量的
Vec
,后续逐步填充数据,避免多次扩容导致的内存重新分配。
2. 减少装箱
- 方法:优先使用栈分配的数据类型,避免不必要的
Box
装箱。比如尽量使用T
而不是Box<T>
,除非确实需要在堆上分配内存。 - 适用场景:当数据量较小且生命周期较短时,使用栈分配更高效,像函数内部临时使用的小型结构体或基本类型,不需要堆分配的灵活性时。