Java编译型和解释型
编译型
编译型:Complie 负责翻译程序,将代码转换为操作系统可执行的代码
类似于将一本书籍提前翻译好,需要看哪里,直接阅读哪里,
执行速度快。C/C++
解释型
解释型:需要使用哪里,翻译哪里,用之前已经解释过的也需要再次解释。
类似于一本书籍,请一名翻译来翻译,如需看之前的内容也需要翻译。
执行速度慢。如网页、服务器脚本等,边执行边解释。
Java执行过程
- Java 通过Java编译器将.java文件转换为字节码文件(.class)
- 当Java程序启动时,JVM就会创建一个类加载器(ClassLoader)树来加载所有的类。类加载器负责在运行时将类的字节码文件加载到内存中,并创建对应的Class对象。
- 通过字节码校验器进行检测有无错误,如检测无误
- 交由解释器翻译成操作系统可以执行的代码,交给操作系统执行
总结:
Java介于解释型与编译型之间,它既有编译型的特性,也有解释型的特性。
- 当Java程序启动时,JVM就会创建一个类加载器(ClassLoader)树来加载所有的类。类加载器负责在运行时将类的字节码文件加载到内存中,并创建对应的Class对象。类加载器会按照一定的顺序加载类,通常是先由系统类加载器(AppClassLoader)加载本地路径下的类,如果找不到则由扩展类加载器(ExtClassLoader)加载,最后由启动类加载器(BootstrapClassLoader)加载JRE中的核心类。
类加载器会执行以下三个步骤:
装载:查找并加载字节码文件;
链接:对字节码文件进行验证、准备和解析;
初始化:对类进行初始化,包括执行类的static块(如果有)和类变量的赋值。
————————————————
版权声明:本文为CSDN博主「源末coco」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_58724261/article/details/131074083