java程序运行机制
-
编译型
编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不用再进行翻译了。
开发操作系统等用的偏多。
eg:C、C++ 等
-
解释型
解释型语言,是在运行的时候将程序翻译成机器语言。
开发网页、服务器、脚本等用的偏多。
eg:Java、C#、python、JavaScript等
-
区别
执行的时机不同,
主要区别在于:
编译型:源程序编译后即可在该平台运行。
解释型:源程序是在运行期间才编译。
所以前者运行速度快,后者跨平台性好。
-
java程序运营机制
java既有编译型也有解释型特点。
Java和其他的语言不太一样。因为java针对不同的平台有不同的JVM,实现了跨平台。所以Java语言有一次编译到处运行的说法。
-
你可以说它是编译型的:因为所有的Java代码都是要编译的,需要java编译器提前预编译成class文件,java不经过编译就什么用都没有。
-
你可以说它是解释型的:因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。
-
但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。
-
-
java程序执行流程:
源文件(.java文件) --> java编译器 --> 字节码(.class文件) --> 类加载器 --> 字节码校验器 --> 解释器 --> 操作系统平台。