当前位置: 代码迷 >> 综合 >> Java普通对象的内存配置
  详细解决方案

Java普通对象的内存配置

热度:96   发布时间:2024-01-25 19:57:23.0

①对象头。markword长8个字节

②classPointer指针。长4个字节,指向class对象,比如T t = new T();t指向T.class

③成员变量(实例数据),int i长4个字节

④padding对齐。jvm按块来读取要保证为8的倍数,效率更高,比如一共15个字节,那么会读8*2=16个字节

引用类型 -XX:+UseCompressedOops为4字节

classPonter指针 -XX:+UseCompressedClassPointers(开启内存压缩)为4个字节,不开启为8个字节。