类的加载过程:
将类的.class文件中的二进制数据读入到内存中->将其放在运行时数据区的方法区内->在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.
对象的创建过程:
首先 JVM遇到一条创建对象的指令后:首先检查这个指令的参数能否在常量池中找到,然后加载这个类。第二步为对象分配内存(一种办法“指针碰撞”、一种办法“空闲列表”,最终常用的办法“本地线程缓冲分配(TLAB)”)第三步:将除对象头外的对象内存空间初始化为0 第四步:将对象的头进行必要的设置。
类的加载过程:
将类的.class文件中的二进制数据读入到内存中->将其放在运行时数据区的方法区内->在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.
对象的创建过程:
首先 JVM遇到一条创建对象的指令后:首先检查这个指令的参数能否在常量池中找到,然后加载这个类。第二步为对象分配内存(一种办法“指针碰撞”、一种办法“空闲列表”,最终常用的办法“本地线程缓冲分配(TLAB)”)第三步:将除对象头外的对象内存空间初始化为0 第四步:将对象的头进行必要的设置。
面试你还不会回答类加载机制么?
始化过。若没有,需先
Java是一门面向对象的语言,创建对象通常仅仅是一个new关键字而已,而在虚拟机中,对象的创建又是怎样的一个过程呢?Java对象创建过程
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M