• 技术文章 >java >java基础

    java对象创建过程是什么

    小妮浅浅小妮浅浅2021-05-11 09:21:38原创5787

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    众所周知,java使用new关键字来创建对象,但它只从语言层面理解对象的创建。让我们从jvm的角度来看对象是如何创建的,也就是创建对象的过程。

    1、检查类是否加载。

    当虚拟机遇到new指令时,首先检查该指令的参数能否在常量池中定位为一个类别的符号引用,检查该符号引用代表的类别是否加载、分析和初始化。否则,执行类加载过程。

    2、为目标分配内存。

    类加载完成后,虚拟机开始为目标分配存储器,此时确定了所需存储器的大小。只需在堆上分配必要的内存即可。

    3、为分配的存储空间初始化零值。

    对象的存储器分配完成后,对象的存储器空间需要初始化为零,保证对象即使没有初始值,也可以直接使用。

    4、对受众进行其他设置。

    分配内存空间,初始化零值后,虚拟机还需要对对象进行其他必要的设置,设置场所在对象头部,包括该对象所属类、类元数据信息、对象hashcode、GC代理年龄等信息。

    5、执行init方法。

    执行上述步骤后,即使虚拟机中的对象成功,Java程序也需要实施init方法,因为此时的对象只是初始化的零值,没有真正根据程序中的代码分配初始值,所以调用init方法后,这个对象真的可以使用。

    以上就是java对象创建过程的整理,希望能对大家有所帮助。更多Java学习指路:Java基础

    专题推荐:java对象
    上一篇:java使用ParameterizedType实现泛型 下一篇:java类加载器如何理解?

    相关文章推荐

    • java中valueOf方法如何使用?• java中ordinal有什么用?• java反射生成对象的方法• java如何访问成员变量• java使用ParameterizedType实现泛型

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网