Rust所有权与借用
学习笔记,对标cpp理解下rust所有权以及借用的概念,顺便提下比较特殊的切片(DST)
所有权
rust中每个值都有一个所有者变量,并且同一时间只有能一个所有者,当值的所有者变量超出作用域,值的内存会被释放。
下面的代码String的所有权从s1转移到了s2,发生了Move,此时再访问s1是非法的。参考
学习笔记,对标cpp理解下rust所有权以及借用的概念,顺便提下比较特殊的切片(DST)
rust中每个值都有一个所有者变量,并且同一时间只有能一个所有者,当值的所有者变量超出作用域,值的内存会被释放。
下面的代码String的所有权从s1转移到了s2,发生了Move,此时再访问s1是非法的。参考
RCU这个词最近才听到,是在公司一位老哥的直播分享里听到的。那天在群里没事乱划,突然看到一个直播分享,原本就想进去嫖一眼,结果内容异常硬核,从头看到尾。
明德新民 止于至善 感觉校歌是真滴好听!
中原文化悠且长,
济济多士 风雨一堂,
继往开来扬辉光,
四郊多垒 国仇难忘,
民主是式 科学允张,
猗欤吾校永无疆!
在linux系统中,通过bash中输入<Ctrl+C>或者使用命令kill -9 $pid都可以杀死进程,但是它们有很大的不同。
先放结论:kill命令只会杀死目标进程,而bash快捷键则会杀死整个前台进程组!
记录下日常搬砖过程中的踩坑和学到的骚操作,随缘更新。
with as优化可读性,装逼点这玩意叫公用表表达式
with t1 as (select * from xxx)
select * from t1; -- 必须紧跟着就使用,不用就销毁了
遇到的场景是去优化有大量的数据需要upsert的场景:数据不存在就插入,数据存在就更新。接手时的实现是每次都做两次网络io,先判断是否存在,然后做更新操作。为了节省大量的io时间,我开始寻求更好的解决方案。