读书笔记之类初始化和实例化本质
# 类的加载,验证,准备,解析,这四个步骤中除了类加载器可以自定义外,其余都有jvm虚拟机控制。类初始化时才开始执行我们程序中代码(或字节码),本质上:是执行构造<clinit>方法的过程类实例化时执行我们的类构造方法中的代码(或字节码),本质是执行构造<init>方法的过程#构造<clinit> 和 构造<init> 的区别clin...
·
java面试题网站:www.javaoffers.com
# 类的加载,验证,准备,解析,这四个步骤中除了类加载器可以自定义外,其余都有jvm虚拟机控制。
类初始化时才开始执行我们程序中代码(或字节码),本质上:是执行构造<clinit>方法的过程
类实例化时执行我们的类构造方法中的代码(或字节码),本质是执行构造<init>方法的过程
#构造<clinit> 和 构造<init> 的区别
clinit 静态域赋值,所有的静态域都收集到clinit中
init 实例域赋值,所有的实例域都收集带 init 中
#对象的访问定位目前流行两种:
1:直接指针
2:句柄池
#栈帧: 包含 局部变量表,动态链接,入口出口 ,操作数栈
局部变量表:储存方法中形参变量和方法内的局部变量
操作数栈:存放各种字节码指令,后入先出,一开始为空
参考文档:Java虚拟机:JVM高级特性与最佳实践(第2版)
更多推荐
已为社区贡献3条内容
所有评论(0)