JEP 388: Windows/AArch64 Port introduces the official support for running Java on Windows systems with AArch64 (ARM 64-bit) architecture in Java 17. Prior to this enhancement, Windows support for ARM architecture was limited and often required workarounds or was not as fully supported as on x64 (Intel/AMD) systems. This improvement brings AArch64 support on Windows to a more mature state, making it easier for developers and enterprises to run Java applications on Windows ARM-based systems.
What is AArch64 (ARM 64-bit)?
AArch64 is the 64-bit execution state of the ARM architecture, which is commonly used in many modern processors, including those in smartphones, tablets, and embedded systems. AArch64 provides better performance, more memory addressing capability, and energy efficiency compared to its 32-bit counterpart (AArch32).
Recently, ARM-based processors, such as Apple’s M1/M2 chips and newer Qualcomm Snapdragon processors in servers, have become more popular in laptops, desktops, and servers. This has led to increased interest in running Java on ARM devices, especially in environments like cloud computing and IoT (Internet of Things).
What is JEP 388?
JEP 388 aims to bring full official support for Windows running on ARM 64-bit (AArch64) platforms. Prior to JEP 388, Java on ARM-based Windows systems was not officially supported by the OpenJDK, which created compatibility and reliability challenges for users running Java applications on ARM-based machines.
Key Features of JEP 388
-
Official ARM 64-bit Support on Windows:
-
Windows/AArch64 port officially enables Java to run on Windows systems using ARM-based processors. This opens up a wide range of devices, including ARM-based laptops, desktops, and servers, to run Java applications smoothly.
-
-
Platform-Specific Optimizations:
-
This port brings optimizations tailored to the ARM architecture, including support for ARM’s 64-bit processing capabilities, and specific hardware-related optimizations for better performance.
-
-
Improved Performance:
-
Java applications can now benefit from ARM’s power-efficient architecture, which is ideal for modern laptops and cloud servers. This allows enterprises to use ARM-based machines running Windows with the same reliability and performance as traditional x64 systems.
-
-
Easier Integration with ARM-Based Windows Devices:
-
By adding support for ARM 64-bit Windows devices, JEP 388 enables developers to more easily integrate Java applications into the rapidly growing market of ARM-based Windows devices, such as those powered by Qualcomm Snapdragon or Apple’s M1/M2 chipsets.
-
-
Cross-Platform Compatibility:
-
Java developers working in cross-platform environments will now have access to a consistent Java experience across both x64 and ARM 64-bit Windows systems, making it easier to develop and test applications for a variety of platforms.
-
Benefits of JEP 388
-
Support for New Hardware:
-
With ARM-based devices becoming more common, especially in enterprise and mobile environments, JEP 388 enables Java developers to fully utilize new ARM-based Windows hardware for Java development and production.
-
-
Better Performance for Java Applications:
-
ARM 64-bit processors are optimized for energy efficiency and parallel processing, which can lead to better performance for Java applications, particularly in mobile, cloud, and embedded environments.
-
-
Future-Proofing:
-
As ARM-based devices become increasingly popular, particularly with the growing market for ARM-powered laptops and desktops, JEP 388 ensures that Java will remain relevant and future-proof for these devices.
-
-
Better Integration for Cloud and IoT:
-
With the growth of cloud services and IoT, many servers and embedded devices are powered by ARM chips. JEP 388 ensures that Java can run on Windows servers and devices in these areas, benefiting organizations that use Java in their IoT or cloud infrastructure.
-
-
Cross-Platform Development:
-
Developers can now target ARM-based systems running Windows with the same tools and frameworks, facilitating a smoother development and deployment process for Java applications.
-
How to Enable AArch64 on Windows
Java 17 on Windows with ARM 64-bit support can be enabled just like any other platform by installing the appropriate version of JDK 17 that supports ARM64. Developers can download the Windows ARM64 JDK from the official OpenJDK builds or from vendors offering support for ARM architectures, such as Oracle JDK or AdoptOpenJDK.
Command Example
To run a Java application on Windows with ARM64 architecture, use the following command in the terminal:
java -jar your-application.jar
Code language: CSS (css)
This will execute the Java application using the ARM64 JDK installed on a Windows ARM-based machine.
JEP 388: Windows/AArch64 Port introduces official support for ARM 64-bit architecture on Windows in Java 17. This enhancement ensures that developers can now run Java applications on Windows ARM-based devices with the same performance and compatibility as traditional x64 systems. With the rise of ARM-based laptops, desktops, and cloud servers, this improvement provides better integration, better performance, and greater future-proofing for Java applications across diverse platforms. As ARM-based devices continue to grow in popularity, JEP 388 positions Java to be an effective and efficient solution on these devices, making it easier for developers to deploy Java applications across both x64 and ARM64 Windows platforms.