JDK 21 | JDK 22 |
---|---|
21.0.4-oracleFixed | 22 b27Fixed |
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Duplicate :
|
|
Relates :
|
|
Relates :
|
Class unloading adds dead code blobs to the free list at the end of that process item (freed code blob) by item. The insertion keeps the free list sorted. Since the free list is a linked list, sorted insertion of a single element is O(n); with 10's of thousands of elements to insert with a stress test application this process can take a very long time, lengthening pauses in the range of a few seconds. This is particularly problematic since removal of the code sweeper (JDK-8290025) which did that process concurrently, but G1, Serial and Parallel GC do code cache unloading in a pause now.
|