计算java对象大小与逃逸分析

对象计算方法。

对象分为两部分:头和内容

头:由地址4字节+标记8字节+数组长度组成4字节

标记包括:锁标记,hashcode,对象年龄

1.Integer对象16字节。int4个字节

地址4字节+标记8字节+内容int4字节=16字节

 2.hashmap 48=4+8+4+4+4*6=44.向8的倍数升:48

地址4字节+标记8字节

元素:set+cllection对象4+4

6个对象字节

 java逃逸分析

不是所有的对象都会在堆上生成,比如一个方法生成的对象只在本方法中使用,那么就会在堆上创建该对象,此时就会使用逃逸分析。

逃逸分析是分析了对象只在当前函数范围内使用,因而改为在栈上申请空间。而栈是函数运行完,立即清理的,所有不需要等到GC,大大缓解了GC的压力,当然如果不只是在当前函数范围内用的的对象则不可以。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值