标记和扫描与自动参考计数

Cla*_*oft 12 java garbage-collection mark-and-sweep automatic-ref-counting swift

众所周知,HotSpot JVM使用并发的Mark-and-Sweep G arbage C ollector来释放堆上未使用的对象.从某种意义上说,这是有用的,程序员在编写程序时不必处理内存,但偶尔会出现"GC延迟",释放所有未使用的对象.

同样地,新的SWIFT编程语言还利用被称为ARC的自动存储器管理系统,它与工作 utomatic ř eference Ç ounting.这种垃圾收集的问题是循环引用,必须由程序员专门处理,weakunowned引用以避免内存泄漏.

但这两者之间还有其他重大差异吗?哪种情况比另一种更好或更差?