代码之家  ›  专栏  ›  技术社区  ›  Almas Abdrazak

Java中类的大小

  •  2
  • Almas Abdrazak  · 技术社区  · 6 年前

    我读过这篇文章 http://btoddb-java-sizing.blogspot.com/
    作者解释了如何在Java中计算对象大小。例如:

    import jdk.nashorn.internal.ir.debug.ObjectSizeCalculator;
    
    public final class Perfomance {
    
        static int number;
    
        static int anotherNumber;
    
        public static void main(String[] args) {
            System.out.println(ObjectSizeCalculator.getObjectSize(new Integer(2)));
        }
    }
    

    这段代码将显示16,因为新对象需要12个字节,在整数中我们有int(4个字节) 12+4 = 16.

    但请考虑以下代码:

    System.out.println(ObjectSizeCalculator.getObjectSize(Integer.class));
    

    而且现在它的尺寸是56

     System.out.println(ObjectSizeCalculator.getObjectSize(Object.class));
    

    它的节目288。它是如何工作的。分配的内存如何依赖于类?

    0 回复  |  直到 6 年前