java面试题网站:www.javaoffers.com

# 类的加载,验证,准备,解析,这四个步骤中除了类加载器可以自定义外,其余都有jvm虚拟机控制。

类初始化时才开始执行我们程序中代码(或字节码),本质上:是执行构造<clinit>方法的过程

类实例化时执行我们的类构造方法中的代码(或字节码),本质是执行构造<init>方法的过程

#构造<clinit> 和 构造<init> 的区别

clinit 静态域赋值,所有的静态域都收集到clinit中

init 实例域赋值,所有的实例域都收集带 init 中

#对象的访问定位目前流行两种:

1:直接指针

2:句柄池

#栈帧: 包含 局部变量表,动态链接,入口出口 ,操作数栈

局部变量表:储存方法中形参变量和方法内的局部变量

操作数栈:存放各种字节码指令,后入先出,一开始为空

参考文档:Java虚拟机:JVM高级特性与最佳实践(第2版)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐