java源代码(也叫源程序)需要先经过java编译器(javac)编译之后得到以".class"结尾的字节码文件,才能在装有Java虚拟(Java Virtual Machine ,JVM)的操作系统上运行。
1、JVM就是负责把以".class"结尾的字节码文件解释成具体平台(Windows、linux..)上的机器指令,但代码的执行会用使用到java的核心类库中的各种类。
2、JRE(Java Runtime Environment)Java运行时环境。JRE打包了一个JVM和Java的核心类库。
3、JDK(Java Development Kit ,)java开发工具包,包括JRE加上一个编译器(javac)和其他工具:
其中包括:
- javac:编译器,将后缀名为.java的源代码编译成后缀名为“.class”的字节码
- java:运行工具,运行.class的字节码
- jar:打包工具,将相关的类文件打包成一个文件
- javadoc:文档生成器,从源码注释中提取文档,注释需匹配规范
- jdb debugger:调试工具
- jps:显示当前java程序运行的进程状态
- javap:反编译程序
- appletviewer:运行和调试applet程序的工具,不需要使用浏览器
- javah:从Java类生成C头文件和C源文件。这些文件提供了连接胶合,使Java和C代码可进行交互。[2]
- javaws:运行JNLP程序
- extcheck:一个检测jar包冲突的工具
- apt:注释处理工具[3]
- jhat:java堆分析工具
- jstack:栈跟踪程序
- jstat:JVM检测统计工具
- jstatd:jstat守护进程
- jinfo:获取正在运行或崩溃的java程序配置信息
- jmap:获取java进程内存映射信息
- idlj:IDL-to-Java编译器。将IDL语言转化为java文件[4]
- policytool:一个GUI的策略文件创建和管理工具
- jrunscript:命令行脚本运行
JDK中包括完整的JRE(Java Runtime Environment)也被称为private runtime、用于产品环境的各种库类,如基础类库rt.jar,以及给开发人员使用的补充库,如国际化与本地化的类库、IDL库等等、包括各种样例程序,用以展示Java API中的各部分。