zoukankan      html  css  js  c++  java
  • 类加载过程&对象的创建过程

    类加载过程

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

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

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

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

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

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

    对象的创建过程

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

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

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

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

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

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

    c)         执行构造代码块

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

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

  • 相关阅读:
    关于git---远程
    关于git---主要
    css特效
    Canvas图片压缩
    TypeScript简单介绍
    html 常见兼容性问题及解决方法
    cookies,sessionStorage 和 localStorage 的区别
    vue-element-admin vue.config.js
    ② nodejs + mongodb 搭建服务器
    ① 数据自动填充
  • 原文地址:https://www.cnblogs.com/sueyyyy/p/9282764.html
Copyright © 2011-2022 走看看