对象计算方法。
对象分为两部分:头和内容
头:由地址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的压力,当然如果不只是在当前函数范围内用的的对象则不可以。