在说这个话题之前,我们需要了解一下什么是解释语言和编译语言
编译型语言
编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件
解释型语言
解释型语言则不同,解释性语言的程序不需要编译,省了道工序,解释型语言在运行程序的时候才翻译
Java语言是特殊的,为什么特殊?这我们就要来简单了解一下JDK的构成和java程序的运行机制
JDK的简单结构:
JRE(java运行环境)
* JVM(java 虚拟机,翻译)
* 类库
一组开发工具
*编译工具
*打包工具
Java的运行
java很特殊,java程序也需要编译,但是没有直接编译成为机器语言,
而是通过编译工具编译成为字节码文件,然后用JVM解释方式执行字节码。
Java既可以被编译,也可以被解释。通过编译器,可以把Java程
序翻译成一种中间代码 - 称为字节码 - 可以被JVM解释的独立于平台的代码。通过JVM,
每条Java字节指令被分析,然后在计算机上运行。只需编译一次,程序运行时解释执行
说道这里大家应该知道java为什么是解释型语言了吧
说到这里,Java的跨平台特性也可以为大家说一下,java的跨平台其实就是JVM的跨平台
因为有了不同版本JVM,所以同一个Java程序在不同的操作系统中都可以执行。这
样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性
|