全国服务热线:400-6263-721

位置:长沙达内IT教育培训学校 > 学校动态 > java文件为什么不用JVM直接编译

java文件为什么不用JVM直接编译

来源:长沙达内IT教育培训学校时间:2021/3/15 15:17:10

  我们编写的java文件在由编译器编译后会生成对应的class字节码文件,然后再将class字节码文件转给JVM。JVM会处理解析class文件,将其内部设置的类、方法、常量等信息全部提取出来,然后找到main方法开始一步一步编译成机器码并执行,中间会根据需要调用前面提取的数据。

  java文件为什么不用JVM直接编译?这样效率不是更高么?

  首先要知道java之所以强大,原因之一就是JVM的强大。强大之一是JVM是"跨平台"的。无论在哪种操作系统上执行,都可以转成对应的机器语言,不需要担心适配问题。第二点就是JVM是"跨语言"的,因为JVM只认class文件,所以其他语言只需要一个编译器编译成class文件就可以使用JVM来编译执行了。

  JVM组件分析

  根据上面的说明可以知道java程序执行的核心是通过JVM来实现的,那么就需要知道JVM内部是如何执行的。JVM内部可以分为部分,运行时数据区域、类加载系统、执行引擎、本地接口和本地方法库。

  类加载系统:主要就是指类加载器,用于把class数据文件加载到运行时数据区域,然后由数据区域来编译执行。

  运行数据区域:搭配执行引擎来编译传来的文件中的代码,然后执行,并且根据需要通过本地方法接口调用本地方法。

  执行引擎:主要用于代码的编译和运行时对象的回收。

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1684/news/333169/违者必究! 以上就是长沙达内IT教育培训学校 小编为您整理 java文件为什么不用JVM直接编译的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721