Java介于编译型语言和解释型语言之间。编译型语言如C、C++直接编译成机器码执行,但是不同的平台CPU的指令集不同,所以每一种平台对应不同的机器码。解释型语言如python、Ruby可由解释器直接加载源码然后运行,代价是运行效率低。Java是将代码编译成"字节码",类似抽象的CPU指令,然后针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行。它的特点是一次编写,到处运行。
Java有三个不同版本:Java SE标准版,Java EE企业版,Java ME瘦身版,三者关系如下:
JDK安装以后bin目录下的执行文件:
- Java:该可执行程序是JVM,运行Java程序就是启动JVM,然后让JVM执行指定的编译后的代码。
- Javac:Java的编译器,可以把Java源文件(.java结尾的文件)编译为Java字节码文件(以.class后缀结尾)。
- Jar:把一组.class文件打包成一个.jar文件,便于发布。
- Javadoc:用于从Java源码中自动提取注释并生成文档。
- Jdb:Java调试器,用户开发阶段的运行调试。