1.为什么要在本地安装JDK,相信很多人都只是为了安装而安装,自己并没有知道其具体原理吧,下面是我学习过程中总结的知识点:
JVM是什么:Java Virtual Machine 虚拟机 源文件.java通过编译器编译成字节码文件.class,
是整个java实现跨平台的最核心的部分
JRE是什么:java Runtime Environment即java运行环境,作用是运行别人写好的程序(JRE并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。)
JDK是什么:Java Development Kit开发工具即很多开发时使用到的工具如javac.exe编译工具和java.exe执行工具。我们可以到JDK目录下的bin目录下找到它,它的名称为:javac.exe
工具如图:
注意:javac.exe并不支持双击运行,所以必须使用DOS命令来运行它。
总结:
1.JDK包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
2.JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
3.JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。但是要注意,因为经过编译后生成的class文件并不能直接在操作系统执行,而是经过虚拟机(相当于中间层)间接与操作系统交互,由虚拟机将程序解释给本地系统执行。而在解释class的时候JVM需要调用解释器所需要的类库lib,而jre包含所需的lib类库。所以想要执行class文件需要JVM和JRE同时存在。只有JVM还不能成class的执行
相当于JVM里层,其次到JRE,最外层是JDK
使用人群分类:JDK是给开发人员用的,JRE和JVM是普通用户用的。
----------------------------------------------------------------------------
2.为什么要配置window的PATH环境变量?
大家来看下没有配置PATH变量之前我们如果想要编译.java文件成.class字节码文件的步骤是:
1.首先明确我的JDK安装在E:\demo\Java\jdk1.8目录,那么编译器完整名称为:E:\demo\Java\jdk1.8\bin\javac.exe;
而我的源文件存放在:E:\java\HelloWorld.java;
那么编译命令就是:E:\demo\Java\jdk1.8\bin\javac.exe E:\java\HelloWorld.java
于是就会:
因为每次都要输入E:\demo\Java\jdk1.8\bin\javac.exe这条命令才能进行javac.exe或者java.exe,所以很麻烦。
在偷懒的基础上,我们简化了做法,就是将”E:\demo\Java\jdk1.8\bin“路径保存到PATH变量中,这样我们使用javac或java时,Windows系统就会自动到“E:\demo\Java\jdk1.8\bin\”路径下查找javac和java了