JDK(Java Development Kit):java开发工具包。
- 因为用于开发,所以需要对代码进行编译,因此会有javac.exe编译器,把代码编译成二进制文件.class,以供jvm加载执行。
- 因为用于开发,所以需要查看编译后的字节码,因此会有javap.exe反编译工具。
- 因为用于开发,所以需要监控代码的运行状况,因此会有一系列监控工具:jstack, jconsole, jinfo, jmap, jdb, jstat。
JRE(Java Runtime Environment):java运行环境,因为只负责运行,所以没有上述用于开发的工具类。
无论是开发环境还是运行环境,都需要运行java代码,因此JDK和JRE都有java的类库、java虚拟机。