For desktop Windows apps (Swing, JavaFX), Shenandoah GC reduces "UI stutter" to near zero. JDK 17’s java.exe includes backported fixes that make Shenandoah outperform G1 on heaps between 4GB–16GB.
JDK 17’s jlink tool (located in the bin folder) allows you to create a custom runtime image that includes only the modules your app needs.
Example: To create a tiny 25MB runtime for a simple CLI tool:
jlink --add-modules java.base --output mycustomjre
This is arguably the "better" way to deploy Java 17 apps—no more bloated full JDKs in production containers.
The jdk-17_windows-x64_bin.exe is more than a file; it's a milestone. It signifies that Java has survived the transition from the monolithic updates of the past to the agile, feature-rich platform of the present. jdk17windowsx64binexe better
Whether you double-click that .exe with a mouse or automate it via script, understand that inside that binary lies the most stable, modern version of Java available today.
So go ahead, run the installer. Just remember to uncheck that Public JRE.
Did this help you set up your environment? Let me know in the comments if you prefer the .exe or if you've jumped ship to the .zip method!
It looks like you’re asking for a review or clarification of the string "jdk17windowsx64binexe better". Click Next and wait for the progress bar to complete
Here’s a breakdown of what this likely refers to and whether it’s “better”:
If you use Java for small scripts or CLI tools (e.g., JAR-based DevOps utilities), JDK 17’s java.exe uses a default CDS archive that includes the core modules. On Windows NVMe SSDs, a simple java -version executes 15-20% faster than JDK 11.
In previous JDKs, java.exe would return vague exit codes (0 or 1). JDK 17 introduces segmented error codes:
This makes scripting on PowerShell or CMD much more reliable. For desktop Windows apps (Swing, JavaFX), Shenandoah GC
Before you double-click, pause. That _bin.exe suffix tells a specific story.
Most Windows software favors .msi (Microsoft Installer) for enterprise deployment. But Oracle (and OpenJDK distributors) defaults to the .exe for the binary distribution. Here is the trade-off:
The takeaway: If you are just setting up your dev environment, the .exe is the correct choice. It minimizes the "Why does java -version still say 1.8?" headaches.