不依赖垃圾收集器的。一般在高并发的场合适用。但编程困难,特别是大型项目出现circular ref非常头痛,到时候要做weak,strong pointer来切断麻烦不已。RUST改进了一点就是编译过程中它会检测到circular ref的问题,让后会强制报错要你修改ownership,用weak/strong pointer或者直接切断circular ref。当然我Rust写的很少,可以说是某种程度的现代版C++,改进了很多C++的上述缺陷,保留了优点,比如stack分配内存做ref,当然写c++的人肯定要反抗。目前语言流派基本分成了2类,一类就是C++, rust做ref count, raii的内存管理,尽量的减少heap分配过程和极其漫长的GC释放过程,缺点是写起来异常复杂,很多时间要小心翼翼的管理内存,不过优点是stack分配的话基本都可以被cache命中,并且没有GC,执行异常丝滑顺滑。另一类是以Java为代表的纯heap分配方案,并使用GC管理内存,优点就不用说了,写的时候根本不要动脑子考虑语言特性,一股脑的只管业务逻辑即可。缺点也是比较明显的,Heap分配非常容易cache missing而造成大量cpu cycle浪费,并且所有的GC都有着令人发指的停顿感。所以目前这2类代表的语言分别各自占据自己应有的位置,其实没啥交集了已经。