一个不包含任何内部成员变量的空Object大约占33byte,若增加成员变量,则增加相应大小的内存占用。
测算方式:设置jvm的堆大小为1m,在堆中不停new不含任何成员变量的OOMObject对象,直到堆内存溢出。如下图,在创建31351个对象后内存溢出。则1m = 1024*1024byte = 1048576 byte,1048576 byte 除 31351 = 33.44bye,一个空对象大致占用33byte内存。
测算方式:设置jvm的堆大小为1m,在堆中不停new不含任何成员变量的OOMObject对象,直到堆内存溢出。如下图,在创建31351个对象后内存溢出。则1m = 1024*1024byte = 1048576 byte,1048576 byte 除 31351 = 33.44bye,一个空对象大致占用33byte内存。