采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,视频中说到claer操作并不会真正的将数据清除掉,那会不会在缓冲区clear操作后被其他线程读取到那些我们认为已经“清除”的数据? 如果是clear后继续写入的话,是对原来的数据进行覆盖操作吗?
先说设计原则,内存是不擦除的。
举个例子,GC的时候,删除对象,那么对象删除吗? 删除,但是这只是概念上的删除。实际上,是空间的重新划分。 缓冲区用来做什么——缓冲——里面是数据。那么能删除吗? 不删除,想办法标记为可用再覆盖就好了。因此从这个设计原则出发,clear清空缓冲区吗? 不清空,标记清空。
再说具体的问题,写入的时候怎么办? 重新覆盖,重新记录指针。
登录后可查看更多问答,登录/注册
深度剖析大厂面试高频真题,让你秒变offer收割机
1.5k 6
1.1k 11
1.1k 10
783 10
868 8