目录
javac编译、java解释
执行Java程序的两个步骤:使用javac编译,使用java解释执行
编译:编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。
解释:解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。 解释具有良好的动态特性和可移植性,执行效率低,占用空间大。
由Java编写的程序需要经过编译步骤,但是这个编译步骤并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(*.class文件)。这种字节码是不会执行的,必须使用Java解释器来解释执行。所以说Java语言既是编译型语言,也是解释型语言。
JVM
Java语言里负责解释执行字节码文件的是Java虚拟机,JVM (Java Virtual Machine)。
当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码不面向任何具体平台,只面向JVM。
不同平台上的JVM是不同的,但他们都向编译器提供了相同的接口。
JVM是Java跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。
JDK、JRE
如果需要开发Java程序,需要安装JDK,安装了JDK就包含了JRE(Java Runtime Environment)。
如果只想运行Java程序,只安装JRE(JRE包含JVM)即可,但是不能开发Java程序。