java程序的执行过程

程序的执行过程


  • 编译

  1. java源程序会首先被java的编译器编译成.class文件。
  2. java编译器编译一个类时,首先会查看这个类依赖的类有没有编译过 ,如果依赖的类还没有被编译,编译器会首先编译这个类所依赖的类,然后再引用。如果已经是编译好的.class文件就直接引用。
  3. 如果 java编译器在指定的目录找不到该类依赖的类的.java源文件或者.class文件,编译器话报“cant find symbol”的错误
  • 执行

java类的运行大致分为两个过程

1、类的加载

2、类的执行

jvm在程序第一次主动使用该类时,才会去加载该类。也就是说jvm并不是一开始就把所有的类都加载到内存中,而是不得不使用的时候才把它加载进来,而且只加载一次。

  • 图解

在这里插入图片描述

java代码 => 编译 => 读取(class loader) => JVM环境 => 执行

流程
  1. .java代码编译成.class文件
  2. 类加载器读取.class文件到jvm
  3. 执行引擎(execution engine)把文件解析成机器码(Binary Code)
  4. 存到jvm的运行数据区(Runtime Data Area)执行
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值