一个Java程序从写到执行的过程

Java程序从源文件到执行经历编译和运行两个阶段。编译时,源文件由Java编译器转化为.class文件,包含常量池和方法字节码。运行时,JVM加载类信息到方法区,找到main方法执行。如javac Test生成Test.class,java Test启动JVM,加载Test类信息到方法区,并执行main方法,创建对象并调用方法。
摘要由CSDN通过智能技术生成

java程序从源文件创建到程序运行需要经过两大步骤:
1、(编译):源文件被JVM中的java编译器进行编译为.class文件。编译后的字节码文件主要分为两部分:常量池和方法字节码。常量池记录的是代码出现过的常量、类名、成员量以及符号引用(类引用、方法引用、成员变量引用);方法字节码中放的是各个方法的字节码
2、(运行)字节码由Java虚拟机运行。Java类运行的过程大概分为两个步骤:(1)类的加载(2)类的执行

根据下面的程序解释Java程序的编译和运行:
(1)在命令行上敲javac Test,会得到Test.class字节码文件,在命令行上敲java Test,系统会启动一个JVM进程,将Test.class文件中的类信息加载到运行时数据区的方法区中。
(2)JVM找到main方法中的主函数入口,main方法中第一条指令是HelloWorld hw = new HelloWorld();,让JVM创建一个HelloWorld对象,但是方法区中还没有HelloWorld类的类信息,于是JVM马上加载HelloWorld类,将HelloWorld类信息放入方法区中。
(3)加载完HelloWorld类的信息后,JVM虚拟机就会在堆内存中为一个HelloWorld类实例分配内存,这个实例持有指向方法区的HelloWorld类的类型信息,其中,hw这个引用变量会自动放在栈中
(4)当使用hw.print()的时候&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值