Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01B38FGKKam5SCGgwgduVAh3
1.9 KiB
1.9 KiB
10. The changes that are not JEPs but will still break a Monday
Prev: 9. JFR and Vector · Next: 11. Recap of Java 26
Script: scripts/other-changes.sh. All from real launches; each option runs java <option> -version on 26 and on 27 (60).
| Option / property | JDK 26 | JDK 27 |
|---|---|---|
-noverify, -Xverify:none |
deprecation warning | Unrecognized option, the JVM does not start |
-noclassgc |
deprecation warning | Unrecognized option, the JVM does not start |
-XX:+UseCompressedClassPointers |
deprecated in 25 | ignored: "support was removed in 27.0" |
-XX:InitiatingHeapOccupancyPercent=40 |
accepted | deprecated; use -XX:G1IHOP |
-XX:+UseGraalJIT (experimental) |
JVMCI error | Unrecognized VM option (JVMCI hook removed) |
-Djdk.lang.Process.launchMechanism=VFORK |
deprecation banner | "has been removed. Switching to FORK instead" (61) |
-Djava.locale.useOldISOCodes=true |
works, deprecated | ignored: Locale("iw").language is he (61) |
The point of the table: rows 1-2 are the ones that stop a service from starting. They are old flags that live in Dockerfiles and JAVA_TOOL_OPTIONS long after anyone remembers why.
Grep your images before you upgrade.
New public API worth knowing
Found by diffing javap dumps (51) and exercised once each in Api27 (62):
Math.acosh/asinh/atanh, String.encodedLength(Charset) (length in bytes without allocating the array), BigDecimal.rootn, KeyStore.getCreationInstant.
Prev: 9. JFR and Vector · Next: 11. Recap of Java 26