静态类型和垃圾收集

仓颉是静态类型语言,程序中所有变量和表达式的类型都是在编译期确定的,并且在程序运行过程中不会发生改变。相比动态类型系统,静态类型系统对开发者有更多的约束,但能够在编译期尽量早的发现程序中的错误,提高程序的安全性,同时也让程序的行为更加容易预测,为编译优化提供了更多信息,使能更多的编译优化,提升程序的性能。

垃圾收集(GC)是一种自动内存管理机制,它能够自动识别和回收不再需要使用的对象,将开发者从手工释放内存中解放出来,不仅可以提高开发效率,还能有效避免各种常见内存错误,提升程序的安全性。常用的垃圾收集技术包括 tracing 和引用计数(reference counting,即 RC)。仓颉采用 tracing GC 技术,通过在运行时跟踪对象之间的引用关系,来识别活动对象和垃圾对象。