Skip to content

Latest commit

 

History

History
44 lines (38 loc) · 1.55 KB

09_memory_footprint_boxed_vs_primitive.adoc

File metadata and controls

44 lines (38 loc) · 1.55 KB

Memory Footprint - Boxed vs. Primitive


Printing Memory Footprint using GraphLayout in JOL

System.out.println(GraphLayout.parseInstance(new MinMaxPrimitivesBoxed()).toFootprint());
System.out.println(GraphLayout.parseInstance(new MinMaxPrimitivesPlain()).toFootprint());

Output:

example.memory.boxing.MinMaxPrimitivesBoxed@5ea434c8d footprint:
     COUNT       AVG       SUM   DESCRIPTION
         1        80        80   example.memory.boxing.MinMaxPrimitivesBoxed
         2        16        32   java.lang.Boolean
         2        16        32   java.lang.Byte
         2        16        32   java.lang.Character
         2        24        48   java.lang.Double
         2        16        32   java.lang.Float
         2        16        32   java.lang.Integer
         2        24        48   java.lang.Long
         2        16        32   java.lang.Short
        17                 368   (total)

example.memory.boxing.MinMaxPrimitivesPlain@3514a4c0d footprint:
     COUNT       AVG       SUM   DESCRIPTION
         1        72        72   example.memory.boxing.MinMaxPrimitivesPlain
         1                  72   (total)
  • Recommendation: Don’t box primitive values! Autoboxing is evil and hides memory bloat!