What's new in version 0.42.0
The following new features and notable changes since version 0.41.0 are included in this release:
Features and changes
Change in the System.gc()
call behavior
The System.gc
call triggers a global garbage collection (GC) cycle, which is a stop-the-world GC. If the System.gc()
call was made during an active GC cycle where the concurrent operation was in progress, the status of objects might not be updated. An object that was reachable when the concurrent operation started might be considered as reachable even if the object is no longer in use later. The System.gc()
call had to be called twice explicitly to ensure that all unreachable objects are identified and cleared.
Now, the System.gc()
call triggers the GC cycle twice internally to clear the unreachable objects that were not identified during the first GC cycle. The call also triggers finalization of the objects in the Finalization queues.
For more information, see Garbage collection.
New -XX:[+|-]IProfileDuringStartupPhase
option added
The VM uses heuristics to decide whether to collect interpreter profiling information during the VM startup. You can overrule the heuristics and control the collection of the profiling information during the startup phase by using the -XX:[+|-]IProfileDuringStartupPhase
option.