回复: 请教各位大大关于动态内存管理的问题…… 感觉sjinny的想法很好。其实现在也有这方面的研究。
归根结蒂是我们需要性能。而动态决定(GC)显然比静态决定性能低。当然,动态决定才用的技术跟静态决定才用的技术也有区别。动态决定是蛮力列举,找到垃圾(或者矿石),静态决定却一般依赖于源码分析。
源码分析最有活力也最流行的方式就是在编译器中嵌入的类型系统。Titanium语言所用的类型推理技术分析指针的辖域,能够作出比程序员手工调试程序更好的决定。ML Kit编译器用一个强有力的区域推论算法来代替大部分基于堆栈的内存管理方式的垃圾收集。 |