new 创建对象过程
2020-04-29 21:44:57 37 举报
AI智能生成
jvm new 创建对象过程
作者其他创作
大纲/内容
new 创建对象过程
1. 类加载
1.加载
一句话:.class文件 -> jvm
class文件静态存储结构->jvm方法区运行时数据区
创建Class对象作为方法区中这个类的各种数据的入口
2.链接
验证
目的:保护虚拟机
准备
为类变量分配内存并初始化零值
解析
时机不确定
符号引用->直接引用
符号引用:代表对象的一组符号
直接引用:
直接指向对象的的指针
相对偏移量
间接定位到对象的句柄
3. 类初始化
根据程序员的制定初始化类变量和其他资源
in other words: 执行类构造器<clinit>()方法的过程
由编译器自动收集类中的所有类变量的赋值动作和静态语句块(static块)中的语句合并产生的
使用
卸载
2. 对象创建
分配内存
为新生对象分配内存
指针碰撞(内存规整时)
空闲列表(内存不规整时)
初始化零值
设置对象头
类的元数据信息
对象哈希吗
对象的GC分代年龄
等等
对象初始化<init>
按程序员的意愿初始化对象
收藏
0 条评论
回复 删除
下一页