Garbage Collector Optimizations

Java 10 offered two major improvements in the garbage collection (GC) domain. It included parallel full GC for garbage-first (G1) GCs, improving its worst-case latency. It also improved source code isolation of multiple GCs for the GC code in HotSpot, introducing the GC interface.

G1 was designated as the default GC in Java 9. G1 was designed to avoid full collections by dividing memory into the survivor, eden, and old memory regions, and by performing intermediate GCs to free up the heap. However, when the pace of object allocation is high and memory can't be reclaimed fast enough, full GC occurs. Until JDK 9, full GC for G1 was executed using a single thread. Java 10 supports parallel full GC for G1.

The creation of the GC interface is a pure refactoring of the HotSpot internal code. It isolates the source code of GCs by introducing a clean GC interface. It will enable new HotSpot developers to find the GC code, and for GC developers to develop new GCs.

In this chapter, we'll learn about the following topics:

  • The GC interface
  • Parallel full GC for G1 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.237.164