JDK 14: CMS GC is OBE
JDK 14 Early Access Build #23 (2019/11/13) is now available. One of the more noteworthy changes with this build is the removal of the Concurrent Mark Sweep garbage collector. JEP 291 [“Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector”] deprecated the Concurrent Mark Sweep (CMS) garbage collector back in 2017 with JDK 9 and JEP 363 [“Remove the Concurrent Mark Sweep (CMS) Garbage Collector”] has been targeted for JDK 14 to remove the CMS garbage collector altogether.
The next screen snapshot demonstrates that the CMS garbage collector was still available with JDK 14 Early Access Build #22.
With that JDK 14 Early Access Build #22, we see that specifying -XX:+UseConcMarkSweepGC
is allowed with only a deprecation warning shown: “Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.“
The next screen snapshot demonstrates that CMS cannot be specified as a garbage collector as of JDK 14 Early Access Build #23:
When trying to run the Java application with -XX:+UseConcMarkSweepGC
, the error message now shown states, “Ignoring option UseConcMarkSweepGC; support was removed in 14.0“.
Although the removal of the CMS garbage collector was the biggest change I noticed in JDK 14 Early Access Build #23, there were a few other changes that I found to be somewhat interesting. These include:
- JDK-8226297: Dual-pivot quicksort improvements
- Lengthy list of changes in the bug report.
- JDK-8232684: Make switch expressions final
- Transitions switch expressions feature from “preview” to “final” (JEP 361).
- JDK-8233884: Avoid looking up standard charsets in security libraries
- Reminder to take advantage of constants defined as
public
fields in the StandardCharsets class.
- Reminder to take advantage of constants defined as
Published on Java Code Geeks with permission by Dustin Marx, partner at our JCG program. See the original article here: JDK 14: CMS GC is OBE Opinions expressed by Java Code Geeks contributors are their own. |