Akka Actor消息内存和垃圾收集

时间:2016-02-08 20:47:48

标签: scala garbage-collection akka actor garbage

以下语句是否正确:当Actor收到消息时,在完成模式匹配函数后,消息超出范围并且消息被垃圾收集?

1 个答案:

答案 0 :(得分:1)

在JVM上,当对象不再可以强烈访问时,它可能会被垃圾收集,即没有" normal"通过它可以从JVM中运行的某个线程到达它。

所以这意味着,你问题的简单答案是:不。您永远不会知道,何时或甚至消息将被垃圾收集。您知道的是删除了超出范围的引用。但是,这甚至不意味着消息不再可达。该对象仍然可以从其他演员那里引用。

但是,通常情况下,如果发送消息并且发送方不保留对它的引用,并且接收方将删除对它的引用,则应该很快收集垃圾。消息通常是短期对象,因此即使在一个GC循环中,对象也很可能无法生存。