【发布时间】:2014-01-23 13:43:37
【问题描述】:
我正在考虑在我的一个项目中使用 Akka,但我只能使用 Java。大多数材料(书籍/文章)都在 Scala 版本上,所以我想知道如果我使用 Java,我会成为二等公民。 两者之间是否存在显着的功能/性能差异?
谢谢
【问题讨论】:
我正在考虑在我的一个项目中使用 Akka,但我只能使用 Java。大多数材料(书籍/文章)都在 Scala 版本上,所以我想知道如果我使用 Java,我会成为二等公民。 两者之间是否存在显着的功能/性能差异?
谢谢
【问题讨论】:
就 Akka 本身的性能而言,这将是相同的,因为您将运行相同的 Akka 字节码。但是,在集成方面,您将使用 Java API,并且仅限于 Java 的语言特性。因此,就使用 API 而言,您将成为二等公民。然而,在功能和性能方面,它几乎是相同的。请记住,您的 Java 代码与库的交互方式与 Scala 代码不同。使用 Scala,您可以访问闭包和其他无法在 Java 中使用的构造(目前)。尽管如此,当从 Java 中使用时,Akka 也是一个很棒的库......
【讨论】:
我认为Akka 上的主网站页面总结了一切:11 行 Scala,17 行 Java(+50%)。
没有或可以忽略的性能差异(字节码、JVM、...)。性能问题将围绕您在 Akka 之上编写的内容。
显着的功能性能(不是在可能性方面,而是在代码清晰度方面......并且清晰度与错误和修复它们有直接关系)
【讨论】:
两种实现在性能和功能方面没有区别。如果您的结构是 Java,那么 Akka 可以成为在您的 Java 项目中引入 actor 模型的一个很好的解决方案。显然,Scala 将具有该语言的整体表现力所提供的优势。
【讨论】: