Java——javac.exe、java.exe、javaw.exe的区别(简述)

1. javac.exe

Java编译器,将 .java 文件编译成 .class 文件,即将源代码文件编译成字节码文件,字节码文件还不是机器能直接运行的文件。 javac.exe编译后得到的 .class 文件是二进制指令,但不是机器指令,而是Java虚拟机可识别的指令。

2. java.exe

Java解释器,启动JVM(Java虚拟机),将 .class 文件一行一行地解释成机器指令执行。(由Java虚拟机对字节码进行解释和执行) 

这就是为什么Java程序能跨平台运行的原因。无论是在Windows、Linux、MAC等系统上,只要装有相应版本的JVM,该JVM就能把 .class 文件解释成机器指令执行。实现“一次编译,随处运行”。

3. javaw.exe

主要用于启动基于GUI的应用程序。跟java命令相对的,运行java命令时,会出现并保持一个console窗口,程序中的信息可以通过System.out在console内输出,而运行javaw,开始时会出现console,当主程序调用之后,console就会消失。 

编译:.java(源代码) ---> .class(字节码)
解释:.class(字节码) ---> 加载并启动JVM ---> .class(机器指令)
执行:通过JVM来完成运行输出

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章