Smalltalk 和垃圾收集

MrD*_*Duk 3 garbage-collection smalltalk

Smalltalk 有自动垃圾收集功能吗?那么,这是不是说我可以做如下的事情而不会产生意想不到的副作用?

transactions := Set new.
transactions add: tran1.
transactions add: tran2.
transactions add: tran3.
transactions add: tran4.
...
transactions add: tran899.
transactions add: tran900.

|||  ~~ Do some stuff ~~  |||

transactions post.
transactions := Set new.
Run Code Online (Sandbox Code Playgroud)

Cur*_*urt 5

是的,当您重新分配事务变量时,引用计数将变为零,并且先前引用的对象将立即被清理。

  • Smalltalk 语言规范中没有任何内容可以保证实现将使用引用计数垃圾收集器。事实上,我所知道的所有实现都使用跟踪收集器而不是引用计数收集器。 (2认同)