jvm-10-普通类型InstanceKlass 内存布局情况 123456789101112131415161718192021222324// InstanceKlass本身占用的内存空间static int header_size() { return sizeof(InstanceKlass)/wordSize; }/** * 普通Java类型的内存布局 * - InstanceKlass本身占用的内存 * - vtable * - itable * - nonstatic_oop_map * - 接口的实现类 * @param vtable_length vtable占用的内存空间 * @param itable_length itable占用的内存空间 * @param nonstatic_oop_map_size OopMapBlock占用的内存空间 * @param is_interface */static int size(int vtable_length, int itable_length, int nonstatic_oop_map_size, bool is_interface) { return align_metadata_size(header_size() + vtable_length + itable_length + nonstatic_oop_map_size + (is_interface ? (int)sizeof(Klass*)/wordSize : 0));} InstanceKlass总共有3个直接派生子类 jvm-12-表示Java引用类型的InstanceRefKlass jvm-13-表示java_lang_Class类的InstanceMirrorKlass jvm-14-表示java_lang_ClassLoader类的InstanceClassLoaderKlass jvm jvm-10-普通类型InstanceKlass https://bannirui.github.io/2026/09/24/java/jvm-10-普通类型InstanceKlass/ 作者 dingrui 发布于 2026年9月24日 许可协议 jvm-11-数组类型ArrayKlass 上一篇 jvm-09-Java类的表示Klass 下一篇 Please enable JavaScript to view the comments