美文网首页
2022-11-19-看 Rust

2022-11-19-看 Rust

作者: 三流之路 | 来源:发表于2022-11-19 21:59 被阅读0次

继续读《程序员修炼之道》,想既然之前的时间成本已经是汩没,后面就不值得继续读了,所以作罢,不要为读完这种想法去浪费更多的时间。

简单看下 Rust 的文章,将堆栈数据的差别,栈中的值,在编译时要确定所占大小,所以动态大小的内存在堆,因为栈无法确定大小去分配,所以用指针引用到堆,具体运行时动态的在堆内确定大小。栈内生命周期短,用完就没了,所以动态生命周期的内容也要分配在堆,显式的控制释放,不像栈自动就清了。好像是理解加深了。

堆带来的问题,该释放没释放造成泄漏,不该释放而释放了导致栈的指针连接不到,多线程访问同一块数据的同步问题。

说了 Java 的 GC,是定期去寻找所有不被引用的对象去释放,但这时机不确定,在释放时它要停止其他线程,造成 STW(Stop-The-World),所以 Android 手机有时卡顿也有这方面的原因。

而 Swift/OC 是自动引用计数,在函数用到那些对象上主动去维护其引用数目,发现零了就释放,不像 Java 要找个时机统一寻找所有一起去释放,所以不会 STW,iOS 流畅也有这方面的原因。

又长了点知识。

相关文章

网友评论

      本文标题:2022-11-19-看 Rust

      本文链接:https://www.haomeiwen.com/subject/oulixdtx.html