【问题标题】:JDK 1.8 Garbage collector G1 algorithm for classes compiled with JDK 1.7 versionJDK 1.8 垃圾收集器 G1 算法,用于使用 JDK 1.7 版本编译的类
【发布时间】:2015-10-27 18:21:33
【问题描述】:

我在分布式应用程序中有许多服务,并且都使用 JKD 1.7(更新 45)版本运行。在这些服务中,我有一些使用 CMS GC 算法的 4 GB RAM 堆的内存密集型服务。我发现包括 CMS 在内的现有算法对年轻一代密集型应用程序无效。这些服务的性能正在下降,消息活动以随机间隔出现峰值。

我读过很多关于 JDK 1.8 G1 algorithm 的好东西。但是由于某些第三方技术的限制,我无法将所有服务升级到 JDK 1.8,这些技术还没有为 JDK 1.8 做好准备。

是否可以仅在某些服务中将运行时升级到 JDK 1.8 版本 + 为 GC 配置 G1 算法但仍然使用 Java 类,使用 JDK 1.7 版本 45 编译?

注意:我之前在使用 JDK 1.6 编译类的服务中升级了 JDK 1.7 运行时。但是这一次,我必须使用 GC 算法,但不确定它在 JDK 1.7 编译的类中的表现如何。如果你们中的任何人已经做过,请分享你的输入。

【问题讨论】:

    标签: java garbage-collection java-8 heap-memory


    【解决方案1】:

    垃圾收集器及其算法存在于 JVM 中。他们不在乎你用哪个版本来编译这些类。

    【讨论】:

    • 感谢您的确认。一个小疑问:我可以在 1.8 版本中使用新的 JVM 选项(perm gen 删除等)吗?我认为您的回答是肯定的,但几乎没有任何疑问。只想交叉检查一次。
    • 当然。同样,JVM 不会根据编译时使用的版本来区别对待您的类(除非低版本的 JVM 不支持更高版本的类,除非显式为低版本编译)。
    猜你喜欢
    • 2010-11-02
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多