• Java程序执行的过程


    ava程序执行的过程:

    Step1:将字节码加入内存;

    Step2:对字节码进行合法性检查;

    Step3:jvm会为每个字节码文件都生成一个对象(class);

    Step4:执行静态代码块,初始化静态成员等;

    Step5:执行入口函数main方法;

    注意:实例块和静态块,可以对java对象进行初始化操作,和构造器非常类似

    静态块先于main方法执行,实例块先于构造方法执行

    下面来看一段代码你能排出先后顺序吗?

    Demo.java

    public class Demo
    {
    public int j = 10;
    public static int i = 0; //静态成员
    //静态块 用于对静态成员初始化
    static
    {
    i=50;
    System.out.println("1、静态块1...");
    }
    //静态块 用于对静态成员初始化
    static
    {
    i=100;
    System.out.println("2、静态块2...");
    }

    public Demo()
    {
    System.out.println("3、构造方法...");
    j=10;
    }
    //实例块 在构造方法前执行一般也用于初始化成员变量
    {
    j=90;
    System.out.println("4、实例块2...");
    }

    //实例块 在构造方法前执行一般也用于初始化成员变量
    {
    j=20;
    System.out.println("5、实例块2...");
    }

    public static void main(String args[])
    {
    System.out.println("6、main方法开始---i="+i);
    Demo d=new Demo(http://www.amjmh.com);
    }
    }
    程序运行结果截图:

    从结果我们可以看出当程序中有多个静态块或实例块程序按先后顺序执行。
    ---------------------

  • 相关阅读:
    [THREEJS]坐标高精度问题
    纹理的寻址方式
    [1009]JS语言精髓与编程实践笔记1
    万向锁
    (转)primitive restarting
    西藏游记
    平衡二叉树(AVL tree)
    初探redis事务
    redis发布与订阅
    初探redis分布式锁
  • 原文地址:https://www.cnblogs.com/ly570/p/11257589.html
Copyright © 2020-2023  润新知