摘要

本节次要解说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办法执行:次要包含静态方法、动态代码块等。

  1. 对象查看:虚拟机遇到new指令时,首先去查看这个指令参数是否在常量池中定位到一个类的符号援用;并查看这个符号援用代表的类是否曾经被加载、解析、初始化。
  2. 类加载:虚拟机进行符号援用的类加载、解析、初始化。
  3. 分配内存:类查看通过后,虚拟机为新对象分配内存;对象调配的内存在虚拟机类加载实现之后就是能够确定的;为对象调配空间的工作等同于把一块确定大小的内存从java堆中部划分进去。
  4. 初始化: