V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winffee
V2EX  ›  Java

发布基于 ARM 的 OpenJDK for Windows 10

  •  
  •   winffee · 2020-10-13 13:39:50 +08:00 · 1694 次点击
    这是一个创建于 1285 天前的主题,其中的信息可能已经有所发展或是发生改变。

    去年,微软宣布收购 jClarity以优化 Azure 上的 Java™工作负载。此后我们在微软的开发者部门成立了 Java 工程小组以帮助实现任何开发人员,任何应用程序和任何平台的愿景。

    今天,我们的团队很高兴与大家分享它已经完成了在基于 Arm®( AArch64 )的设备上移植 Windows 10 的 OpenJDK™的第一阶段的工作,现在我们正在推进对上游 OpenJDK 项目的更改。由 Monica Beckwith 率领并得到 Ludovic Henry 及团队和合作伙伴工程师支持的移植项目,已与 Red Hat 一起提交到 OpenJDK 项目。现在可通过我们的GitHub 项目获得Early Access 二进制文件,欢迎开发人员下载并尝试使用它。

    阅读 Monica 给 OpenJDK 的消息

    微软在市场上表现出极大的热情,并且在笔记本电脑上以及最近在服务器上越来越多地采用 ARM64 架构。凭借更高的能源效率,使用 ARM64 可以大大降低数据中心的成本并延长个人设备的电池寿命。Windows 操作系统是许多工作负载和用户首选项,Java 工程小组希望通过这次移植项目来支持这些用户。

    尽管仍未 100 %完成,基于 OpenJDK 尖端分支( 16+)的移植已可以运行大多数工作负载,包括 SPEC SERT (在我们对新平台组合的贡献被接受之后)以及所有 SPEC Java 套件。开发人员可以开始在Windows 10 ARM64兼容笔记本电脑(例如 Surface Pro X )上开发 Java,并在最近发布的Visual Studio Code for Windows ARM64中使用核心 Java 扩展以及传统工具(例如 Apache Maven,Gradle 等)。细节请参考VS Code for Java May Update。有关移植的当前限制和路线图等更多详细信息,可以在 Monica 发送给 OpenJDK 项目的消息以及 GitHub 项目的 README 中找到。

    尽管针对 Azure 优化 Java 仍然是我们的核心目标之一,但至关重要的是,我们必须参与其他计划,以使 Java 平台在云之外的其他领域更加出色。从下面的幻灯片可以看出,Microsoft 本身就对 Java 进行了大量投资,这是由 Martijn Verburg 最近在今年的 Microsoft Build 会议“Modern Java for Cloud Developers”中提出的。

    Image Microsoft Use of Java

    微软对 Java 的使用是我们团队致力于参与 Java 生态系统并与 OpenJDK 项目进行协作的原因,它超出了特定于云的需求。我们从细小但重要的投入开始,熟悉 OpenJDK 流程,贡献了一些重要的补丁,并激发了与其他 OpenJDK 工程师的有趣讨论,例如堆栈分配和由 Charlie Gracie 在最新的 JFokus 会议提出的Stack Allocation and the Current State of JVM Escape Analysis

    Microsoft 对 OpenJDK 的最新贡献

    1. 8231863: Crash if classpath is read from @argument file and the main gets option argument
    2. 8234076: JVM crashes on Windows 10 using –module=NAME
    3. 8236179: C1 register allocation error with T_ADDRESS
    4. 8236981: Remove ShenandoahTraversalUpdateRefsClosure
    5. 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header
    6. 8230853: Shenandoah: replace leftover assert(is_in(…)) with rich asserts
    7. 8231668: Remove ForceDynamicNumberOfGCThreads
    8. 8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments
    9. 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp
    10. 8240972: macOS codesign fail on macOS 10.13.5 or older
    11. 8241142: Shenandoah: should not use parallel reference processing with single GC thread

    无论 Gradle,Maven 还是使用 Visual Studio Code 的 Java 项目,请尝试基于 ARM 的 OpenJDK for Windows 10 。我们很高兴继续与 OpenJDK 和 Java 社区合作。

    谢谢!

    原文: https://devblogs.microsoft.com/java-ch/%E5%8F%91%E5%B8%83%E5%9F%BA%E4%BA%8Earm%E7%9A%84openjdk-for-windows-10/

    2 条回复    2020-10-14 10:00:57 +08:00
    gxbb097528
        1
    gxbb097528  
       2020-10-13 21:39:04 +08:00
    咋移植的呢,jvm 不是用 c++写的么,在 arm 上能用 c++了么
    winffee
        2
    winffee  
    OP
       2020-10-14 10:00:57 +08:00
    @gxbb097528 C++针对 Arm 已经有很多成熟的编译器了,比如微软的编译器:https://docs.microsoft.com/en-us/cpp/build/configuring-programs-for-arm-processors-visual-cpp?view=vs-2019
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2787 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 05:49 · PVG 13:49 · LAX 22:49 · JFK 01:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.