java程序的执行过程
程序员文章站
2022-04-07 18:00:38
程序的执行过程编译执行图解编译java源程序会首先被java的编译器编译成.class文件。java编译器编译一个类时,首先会查看这个类依赖的类有没有编译过 ,如果依赖的类还没有被编译,编译器会首先编译这个类所依赖的类,然后再引用。如果已经是编译好的.class文件就直接引用。如果 java编译器在指定的目录找不到该类依赖的类的.java源文件或者.class文件,编译器话报“cant find symbol”的错误执行java类的运行大致分为两个过程1、类的加...
程序的执行过程
- java源程序会首先被java的编译器编译成.class文件。
- java编译器编译一个类时,首先会查看这个类依赖的类有没有编译过 ,如果依赖的类还没有被编译,编译器会首先编译这个类所依赖的类,然后再引用。如果已经是编译好的.class文件就直接引用。
- 如果 java编译器在指定的目录找不到该类依赖的类的.java源文件或者.class文件,编译器话报“cant find symbol”的错误
java类的运行大致分为两个过程
1、类的加载
2、类的执行
jvm在程序第一次主动使用该类时,才会去加载该类。也就是说jvm并不是一开始就把所有的类都加载到内存中,而是不得不使用的时候才把它加载进来,而且只加载一次。
java代码 => 编译 => 读取(class loader) => JVM环境 => 执行
流程
- .java代码编译成.class文件
- 类加载器读取.class文件到jvm
- 执行引擎(execution engine)把文件解析成机器码(Binary Code)
- 存到jvm的运行数据区(Runtime Data Area)执行
本文地址:https://blog.csdn.net/qq_45630711/article/details/111870938