Akka Scala和Java的区别

7

我正在考虑在我的一个项目中使用Akka,但是我必须只使用Java。大部分资料(书籍/文章)都是针对Scala版本的,所以我想知道如果我使用Java,是否会成为二等公民。

这两者之间是否存在显著的功能/性能差异?

谢谢。

3个回答

7
就 Akka 本身的性能而言,由于您将运行相同的 Akka 字节码,因此性能将是相同的。但是在集成方面,您将使用 Java API,并且受到 Java 语言特性的限制。因此,在使用 API 方面,您将成为二等公民。但就功能和性能而言,它几乎完全相同。只需记住,与 Scala 代码不同,您的 Java 代码将以不同的方式与库进行交互。使用 Scala,您可以访问闭包和其他构造,而这些不能用于 Java(尚未)。尽管如此,从 Java 使用 Akka 也是很棒的。

3

我认为Akka的主网站页面概括了一切: 11行Scala代码,17行Java代码(+50%)。

没有或几乎没有性能差异(字节码、JVM等)。性能问题将出现在您在Akka之上编写的内容。

具有重要功能性能(不是指可能性而是指代码清晰度...而清晰度与错误及其修复之间存在直接关系)


请返回已被引用的Akka主页,即https://web.archive.org/web/20140108174834/https://akka.io/上的页面。 - Liam Bohl

2
在性能和功能方面,这两种实现没有区别。如果您使用的是Java,则Akka可以是在Java项目中引入Actor模型的好解决方案。当然,使用Scala会有整个语言提供的表达能力优势。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接