• 类加载过程&对象的创建过程


    类加载过程

    1、JVM发现要使用一个类,首先要到方法区中找;如果找到了,就直接使用,如果没有找到,才会去找这个类的class文件,然后加载;

    (在找class文件时,是根据classpath配置的地址去找;如果没有配置,就在当前目录找)

    2、在硬盘上找到class文件后,就开始加载这个class,根据书写顺序,先后将静态成员加载到静态区域,非静态成员加载到非静态区域;

    3、接下来为所有的静态成员变量分配变量空间,同时赋默认值;

    4、接下来根据书写的顺序为静态成员变量显示赋值,同时执行静态代码块;

    上面的步骤都执行完毕,类加载完成;

    对象的创建过程

    1、首先JVM在堆内存中开辟空间;

    2、在对象空间中为类中的所有非静态成员变量分配空间,赋默认值;

    3、调用相应的构造函数进栈;

    4、在执行构造函数中的代码之前,先要执行隐式三步:

    a)        super():调用父类构造函数

    b)        给对象空间中的非静态成员变量显示赋值

    c)         执行构造代码块

    5、完成隐式三步后,接下来开始执行构造函数中的代码;

    构造函数结束出栈,对象创建完成;

  • 相关阅读:
    vue.js 条件与循环
    vue.js 声明式渲染
    数据库设计范式?
    用户购物车,实现添加商品的功能!
    用户购物车功能的实现。
    初始ajax技术
    SQL语句中 INNER JOIN的用法!
    商城 用户登录、注册、注销,购物车。
    EL和 JSTL? 在JSP中简化 java代码的写法!
    小数点后保留2位小数的正则表达式
  • 原文地址:https://www.cnblogs.com/sueyyyy/p/9282764.html
Copyright © 2020-2023  润新知