JOL 0.15

Aleksey Shipilev shade at
Wed Mar 31 08:22:29 UTC 2021


JOL 0.14 is released and available on Maven Central. This release ships with multiple performance 
and compatibility fixes.

  *) ClassLayout now prints the detailed information on object headers: decoding mark words, 
printing class word, array length, etc
   7902866: JOL: Rework the instance dump output: formatting, decoding mark/class words, array length
   7902867: JOL: Use defined data model to print the header in class layout

  *) Layout simulations (for example, "estimates") are now able to simulate JDK 15+ field layouter
   7902869: JOL: Support JDK 15+ field layouter simulation

  *) Lots of performance improvements for graph walking: better field caching, better stack 
management, etc.
   - Use shared ClassValue for caching resolved Class fields
   - Eagerly do setAccessible(true) on first Field resolves in walkers
   - Optimize MathUtil.align to avoid modulo/division
   - Replace ArrayDeque with SimpleStack

  *) New GraphStats, a lightweight version of GraphLayout

  *) Some fixes for SonarCloud warnings
    7902835: JOL: ObjectShapes.processJAR should close resources properly
    7902836: JOL: Fix incorrect implicit numeric promotions

  *) JOL Samples are reworked to capture VM improvements since JDK 8
    7902868: JOL: Rework JOL Samples for modern JDKs



More information about the jol-dev mailing list