Abortable mixed collections for G1

Developers are increasingly demanding more definite behavior from GCs. For instance, wouldn't you prefer to execute your application with a GC that guarantees an upper limit to its pause timings?

When working with G1 GC in Java 12, you can abort mixed collections if they exceed your specified limit. Note that you can't abort all categories of G1 GC pauses.

A mixed collection includes both young and old memory regions for G1 to clean. An analysis system selects the set of regions, collectively called a collection set, for G1 GC to work on. Prior to JDK 12, G1 GC could exceed the maximum pause time when the collection set was too large, the collection set included too many old regions, or the collection set included regions with stale data.

With JDK 12, when G1 collects live objects from mixed collections, it can do so in an incremental manner, so that it doesn't exceed the maximum pause timings. This process splits the collection set into mandatory and optional parts. After G1 completes collecting live objects from the mandatory collection, it collects objects from the optional set, if time permits.

..................Content has been hidden....................

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