摘要
本节次要解说java中对象是如何创立?如何布局?如何拜访?
内容
Java是一门面向对象的程序语言,Java程序运行过程中无时无刻都有对象被创立,语言层面上,常见对象,创立一个对象是一个new关键字而已,在虚拟机中,对象又是怎么创立的呢?
1、对象创立
举例来说;咱们通过以下代码创立一个对象A;
public class A { private int a; public static void main(String[] args) { A a = new A(); }}
他对应的底层jvm虚拟机中又是一个怎么的过程呢?
对象的创立次要包含六个步骤:
类的初始化对于援用变量初始化为null,对于根本类型变量就具体赋值;init办法执行:次要包含静态方法、动态代码块等。
- 对象查看:虚拟机遇到new指令时,首先去查看这个指令参数是否在常量池中定位到一个类的符号援用;并查看这个符号援用代表的类是否曾经被加载、解析、初始化。
- 类加载:虚拟机进行符号援用的类加载、解析、初始化。
- 分配内存:类查看通过后,虚拟机为新对象分配内存;对象调配的内存在虚拟机类加载实现之后就是能够确定的;为对象调配空间的工作等同于把一块确定大小的内存从java堆中部划分进去。
- 初始化: