zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    程序运行结果截图:

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

  • 相关阅读:
    必备单词
    Vim
    Linux基础
    python链表操作详解
    冒泡和快速排序
    学员练车选课系统
    面试题
    获取resp:heads:content-disposition的filename
    记录springBoot启动报错(无脑型)
    springBoot+Vue搭建新项目(1)
  • 原文地址:https://www.cnblogs.com/ly570/p/11257589.html
Copyright © 2011-2022 走看看