java程序的执行流程

 Java程序执行的三个阶段:

1.编译

Java程序的源代码需要经过编译器(例如javac-)的编译,将其转换成字节码(即.class文件),这个过程称为编译。编译器会对源代码中的语法进行检查和优化,并生成可在JVM上运行的字节码文件。

2.类加载

当Java程序启动时,JVM就会创建一个类加载器Q(ClassLoader)树来加载所有的类。类加载器负责在运行时将类的字节码文件加载到内存中,并创建对应的Class对象。类加载器会按照一定的顺序加载类,通常是先由系统类加载器(AppClassLoader)加载本地路径下的类,如果找不到则由扩展类加载器(ExtClassLoader)加载,最后由启动类加载器(BootstrapClassLoader)加载JRE中的核心类。

3.执行

在加载完成后,JVM会执行main方法。

4.垃圾回收

在Java程序执行过程中,JVM需要管理内存,包括分配、使用和释放内存。当一个对象不再被引用时,JVM会通过垃圾回收机制将其回收并释放内存。垃圾回收器会定期扫描堆内存中的对象,标记不再被引用的对象为垃圾对象,然后清理掉这些对象所占用的内存空间。

执行的过程

  1. 源文件由编译器编译成字节码(Bytecoed)。Java源代码编译成字节码( .class) 文件。是Java的第一次编译。生成的这个 .class文件就是可以到处运行的文件。
  2.  .class字节码文件转换成目标机器语言代码,有JVM(Java虚拟机)执行引擎来完成。
  3. JVM依赖于操作系统进行处理后返回代码执行之后的结果到控制台(console)。       注意:Java拥有跨平台的特性, JVM依赖操作系统运行,但Java的运行结果与操作系统无关,意思是根据不同的操作系统安装对应的jvm,从而实现Java的跨平台性。
  4. 执行的流程如下图所示:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值