jdk、jre和jvm

前言

1、jdk包括了jre
2、jre包括了jvm

3、jdk还包括了各种工具
1)比如,编译器javac.exe、执行器java.exe,打包工具jar.exe等等
2)这些工具在jdk安装目录/bin目录下

4、jre也包括了各种工具
1)同上
2)在jdk安装目录/jre/lib/tools.jar里,包含了各种工具的源代码






一图胜千言

jdk、jre和jvm_第1张图片




(说明:
1、jre包括了各种API
2、jre还包括了jvm)
jdk、jre和jvm_第2张图片






各种工具程序和普通的java程序

1、前面提到的各种工具,都是用java语言编写的,所以它们是java程序(注:虽然程序名字的后缀是.exe,但是它们就是用java语言编写的java代码);
既然是java代码/java程序,运行它们那就必须要安装jdk——而之所以必须要安装jdk的原因是因为,第一,jdk包含了编译器、执行器等各种工具,只要是java程序就需要编译器和执行器啊,编译器的作用是把.java源文件(源代码)编译成.class文件(字节码,或者说是jvm的机器码),执行器的作用是把字节码机器码从磁盘加载到内存;第二,jdk包含了jre(前面说过jre包括了各种API和jvm),那些各种各样的工具程序肯定引用了java的API,并且java程序要在jvm上面运行的(就像windows程序要在windows操作系统上面运行一样,jvm相当于是windows操作系统)。


2、同理,普通的程序也是一样。
jdk、jre和jvm_第3张图片



注:
1.jdk是一个虚拟的抽象的东西,要注意的是它包含了哪些东西;
再说一遍,jdk包含了各种工具程序、jre等等,也就是jdk安装目录下面的那些东西。

2.jre也是一个抽象的东西,最重要的是它包含了哪些东西;
jre包含了各种java API、java虚拟机(即jvm.dll),还有各种工具程序(都包含在tools.jar里)。

3.电脑/PC/计算机也是一个抽象的东西;
电脑包含了5大硬件、操作系统,还有操作系统上面的各种应用程序。





参考

《java深度历险》

你可能感兴趣的:(java——提高)