乐趣区

关于jvm:JVM你真的了解对象吗

摘要

本节次要解说 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. 初始化:
退出移动版