编程语言目前有三种形式:编译型(C、C++为代表)、解释型(Ruby、Python为代表)和混合型(Java为代表)。他们的原理分别如下所示
编译型语言:C、C++、Objective-C、Swift、Kotlin等高级语言
1. 编译生成的目标程序(针对特定平台的机器指令),只能在特定的平台上运行,不能跨平台。
2. 性能好
解释型语言:JavaScript、Ruby、Python等语言。
1. 能跨平台
Java语言既有编译(不彻底的编译、编译成字节码文件),又有解释(每次运行时,由JVM将字节码翻译成对应平台的机器指令)。
1. 性能好
2. 能跨平台
【面试题】JVM的原理是什么?
Java源程序编译之后生成的是字节码文件(与平台无关),不同平台的JVM是不同的。不同平台的JVM负责将字节码文件解释对应平台的机器指令,这样过程即可实现对Java程序的跨平台。