运行环境
windows 10
CPU Intel® Core™ i7-9750H CPU @ 2.60GHz
内存 16.0 GB
结论
这里首先给出结论
一个什么都没有的空对象 占用16字节
空对象 : 对象头(object header)4B*3 + 内存对齐4B = 12 + 4 = 16;
验证
导入Maven依赖
这里推荐openjdk的jol工具,它可以帮助你查看对象内存的占用情况。
<dependency>
<groupId>org.openjdk.jol</groupId>
<artifactId>jol-core</artifactId>
<version>0.10</version>
</dependency>
验证空对象
对象代码
import lombok.Data;
import java.io.Serializable;
@Data
public class DataSourceInfo implements Serializable {
}
测试代码
import org.example.mybatis.pojo.DataSourceInfo;
import org.openjdk.jol.info.ClassLayout;
/**
* explain:测试类大小
*
* @author Hope
* @date 2022/3/18
* @see
* @since
*/
public class TestObjectSize {
public static void main(String[] args) {
DataSourceInfo dataSourceInfo = new DataSourceInfo();
System.out.println(ClassLayout.parseInstance(dataSourceInfo).toPrintable());
}
}
测试结果