Java几个面试题

1、对象的创建过程

①、将对象加载到内存,并初始化类的静态变量,赋默认初始值,执行静态语法。

②、申请对象内存空间。

③、成员赋默认初始值。

④、执行构造方法初始化:成员变量按顺序赋初始值、执行构造方法语句(先执行父类的构造方法super)。

2、对象在内存中的存储布局

案例:Object o = new Object()包含多少字节

答案:8(对象头8个字节)+4(classPoint指针压缩4个字节)+0(没有实例数据,也就是成员变量)+4(Padding对齐)=16个字节

 3、对象头具体包含什么?

 从上图可以看到GC的分代年龄占了4位,所以GC的年龄默认最大是15。

 

posted @ 2022-01-20 11:07  炫舞风中  阅读(21)  评论(0编辑  收藏  举报