scala - Scala 在专有 JVM 上运行良好吗?

标签 scala jvm jrockit

我的公司拥有大量遗留 Java 代码库,我们的许多客户都运行 WebSphere 和 WebLogic。我们正在考虑开始使用 Scala,但一直无法确认 Scala (2.9.X) 是否与 IBM 的 JDK(和 BEA 的 JRockit)配合良好。

由于这些 JVM 通过了 TCK我会说它应该可以正常工作,但是考虑到我多年来在不同 JVM 上遇到的各种问题,我有点 nervous .将 scala 与其他 JVM 一起使用时,有什么需要注意的问题吗?

  • 要使用(或避免)的任何编译器标志?
  • 我应该在热点上还是在客户的 JVM 上使用 Scala 编译代码?
  • 在不同的 JVM 上混合使用不同版本的 Scala/Java 编译的 JAR 有什么问题吗?

  • 欢迎任何 war 故事、链接和建议。

    最佳答案

    无论您使用何种 JVM,Scala 编译器都应生成相同的字节码。我希望 Scala 可以在所有三个平台上运行,但是 HotSpot 已经尝试针对动态语言进行优化,并且可能会稍微好一些。 (可能还不够担心)

    近年来,这些平台之间的差异越来越小,在不久的将来,我希望它们都直接基于 OpenJDK(因为 IBM 现在已经同意支持 OpenJDK) JRockit 和 Hotspot 团队已经合并了一段时间Oracle 拥有两者。

    但是,如果您运行的不是最新版本的 JDK,您可能会看到一些问题。

    JVM 之间的交流非常好,我会考虑在自己的 JVM 中运行 Scala 以隔离您可能遇到的任何问题。

    关于scala - Scala 在专有 JVM 上运行良好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7254799/

    相关文章:

    scala - 使用 Try[Boolean] 进行列表迭代

    scala - 计算 ExecutionContext 中的线程数

    java - 如何在 Windows 机器中使用 jrockit 生成堆转储

    java - 由于持续的 GC,强制 JVM 崩溃

    java - JRockit 与 HotSpot 类加载问题 - META-INF/服务

    java - 在不同平台上字节到字符串的转换,反之亦然

    scala - Akka + WithinTimeRange

    Scala Parallel Print 卡在控制台上

    java - 增加 Java Tomcat 应用程序的堆内存利用率

    api - 编程语言和 OS API 之间的关系