如何计算java中的对象object大小size

 我来答
仙戈雅3n
2016-11-25 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:905万
展开全部
// 利用GC回收前与回收后的差值计算对象的大小:
class Foo{ // 32位OS类定义引用占8 byte,64位OS占用16 byte
   int x;  // 4 byte
   byte b; // 1 byte
}

public class Demo {

  public static void main(String args[]) {
  
    Foo foo= new Foo();
    Runtime.getRuntime().gc();
    long gcing = Runtime.getRuntime().freeMemory();
    Foo foo2= new Foo();
    long gced = Runtime.getRuntime().freeMemory();
    // 64位打印24,32位打印16 (注:是因为JVM底层内存都是以8 byte对齐的,即8的倍数)
    System.out.println("Memory used:"+(gcing -gced )); 
    
  }
  
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式