gpt4 book ai didi

java - 为什么我们在 akka 中将 Actor 和消息创建为静态类?

转载 作者:行者123 更新时间:2023-12-02 13:42:51 25 4
gpt4 key购买 nike

我正在学习 Akka,在 akka 文档中,他们使用了 Actor 和消息的静态类,所以我想知道为什么我们在 akka 中创建 Actor 和消息作为静态类。这就是我所知道的:- 我们不能创建顶级静态类,因为我们只能创建一个内部静态类,并且内部静态类实例不链接到特定的封闭类实例。这意味着多个实例共享同一个静态类实例。因此,如果我们静态创建 Actor 和消息,那么每个静态类将只有一个实例。

最佳答案

您不必将消息创建为静态类。

主要有两个原因:

其中一个是 Snickers 提到的,即我们希望使消息不可变,并且在语法上通过静态类在 Java 中更容易做到这一点。您可以通过将所有字段设置为私有(private)和/或最终字段来避免此操作,但这可能会使您的序列化/反序列化更加复杂(例如,如果您使用的是 Jackson,则为 @JsonCreator...)。

第二个是,我将消息声明为接受它们的参与者的内部类,您可以在两者之间建立语义关系,从而更容易知道哪个参与者接受哪些消息。

但是您可以轻松地忽略所有这些建议,并将它们构建为普通类,并且您自己确保它们不会被任何人以其他方式修改。

关于java - 为什么我们在 akka 中将 Actor 和消息创建为静态类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42640261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com