美文网首页
Java-加载顺序(1)

Java-加载顺序(1)

作者: 仆歌 | 来源:发表于2016-07-17 23:00 被阅读0次

++2016.7.17
++by side @Java-加载顺序(1)

==================================
关于Java-加载顺序

下面是一个面试题
/* 输出打印
*/

public class Z extends X {

Y y=new Y();

Z(){

    System.out.println("Z的构造方法");  
}
public static void main(String[] args) {
    
    new Z();
    
}

}
class X{
Y b=new Y();  
X(){
    System.out.println("X的构造方法"); 
}
}
class Y{
Y(){
    System.out.println("Y的构造方法");  
}

}
首先简单理解JVM加载的简单过程以本题为例
本题 加载过程
简单描述一下:

步骤:

  • 1.找到main()方法
  • 2.加载Z的父类X到内存X.class,然后加载PrintDemo到内存Z.class
  • 3.加载main()方法到栈
  • 4.执行main()方法里的new Z();
  • 5.执行Z父类X的构造方法,在此之前先加载X的成员Y b=new Y();
  • 6.加载Y到内存Y.class执行Y的构造方法 //打印 Y的构造方法
  • 7.再执行X的构造方法 //打印 X的构造方法
  • 8.再执行Z的构造方法,在此之前先加载Z的成员Y y=new Y(); 执行Y的构造方法 //打印 Y的构造方法
  • 9.打印 Z的构造方法
  • 10.结束
显示结果:
显示结果

==================================
@小怪兽

ps:因作者能力有限,有错误的地方请见谅

相关文章

  • Java-加载顺序(1)

    ++2016.7.17++by side @Java-加载顺序(1) ======================...

  • java-加载顺序(2)

    ++2016.7.17++by side @java-加载顺序(2) ======================...

  • ptrance 反调试--2之 动态库加载顺序

    1、动态库加载顺序 1、AntDebug、inject 顺序执行 1、inject、AntDebug 顺序执行

  • Hello Java

    目录 Java-基础(1/6) Java-对象(2/6) Java-核心库类 上(3/6) Java-核心库类下(...

  • 2018-09-23

    1. 配置文件加载顺序 OS X 系统的配置文件,加载顺序为: /etc/profile和/etc/paths是...

  • 类的加载过程

    类的加载过程 类文件加载的顺序 1、先加载执行父类的静态变量及静态初始化块(执行先后顺序按排列的先后顺序)2、再加...

  • 类加载机制(炒盘菜一样简单)

    简单理解,就是把人写的东西变成机器读到东西;也叫编译?这是编译,编译不是加载;加载也不是初始化。 .java->....

  • [Mac] OS X修改环境变量

    1. 配置文件加载顺序 OS X系统的配置文件,加载顺序为: /etc/profile和/etc/paths是系统...

  • OS x修改环境变量

    1. 配置文件加载顺序 OS X系统的配置文件,加载顺序为: /etc/profile和etc/paths是系统级...

  • 阿里春招面试题

    1.classloader加载安全,加载顺序加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->...

网友评论

      本文标题:Java-加载顺序(1)

      本文链接:https://www.haomeiwen.com/subject/epvjjttx.html