【问题标题】:JDK1.8 in Production but JDK 1.7 in Testing EnvironmentJDK1.8 用于生产,但 JDK 1.7 用于测试环境
【发布时间】:2020-10-17 19:03:39
【问题描述】:

如果我在生产环境中使用 JDK 1.8 但在测试环境 JDK 1.7 中会发生什么?

【问题讨论】:

  • 那么我猜你会在两个环境中拥有不同的版本。但除了笑话 - 问题相当广泛。您必须保持与 java 7 兼容的代码,因此您将无法使用 java 8 api,只能使用 jvm 的某些功能(垃圾收集器等)。另一方面,以不同方式设置您的 jvm 会导致性能问题,您将无法重现。测试环境应尽可能类似于生产环境。
  • 现在已经发生的事情是,您投入这种测试的每一秒时间和每一分钱都完全浪费了。您必须在与生产环境相同的环境中进行测试。否则你根本就没有测试。

标签: java java-8 jvm java-7 production-environment


【解决方案1】:

在用于测试的 Java 1.7 和用于生产的 Java 1.8 之间应该没有任何重大问题。 1.9 过渡后存在问题,但 1.7 和 1.8 是兼容的。

您可能会发现 JVM 本身的启动标志组合(您正在使用的 GC,任何其他标志)在两个版本之间是不同的。因此,如果您使用启动脚本设置JAVA_OPTIONS,那么它们的启动方式可能会有所不同。

最后,如果您正在进行任何类型的性能测试,那么测试在两个 JVM 之间将无效。即使您使用相同的 GC 配置,Java 1.7 中的性能差异也可能与 Java 1.8 略有不同。

【讨论】:

    猜你喜欢
    • 2013-11-13
    • 1970-01-01
    • 2022-11-24
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 2011-06-12
    相关资源
    最近更新 更多