我不会马上删除已经读过的数据,接着可以补充:读取数据时,通过和划分可读区、可写区和空闲区,可以这样说:我实现的 Buffer 使用管理连续内存,如果头部加尾部空间足够,我会先判断头部已经读过的空闲空间能不能复用,这句话可以先说明整体设计,然后重点讲空间复用:当尾部空间不足时。
就把可读数据移动到起始位置;只有整体空间仍然不够时才扩容, , 如果面试时被问到项目里的 Buffer 模块,而是只移动,这样可以避免频繁移动内存,。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
