如何计算java中的对象object大小size
展开全部
// 利用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 ));
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询