Java运行准备JDR JRE JVM知识和环境变量的作用
JDK、JRE、JVM简介
JDK:Java Development Kit Java开发者工具包
JRE:Java runtime environment Java运行环境
JVM:Java Virtual Machine Java虚拟机
JDK 中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre
JRE 中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
JVM 就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。
也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
只有JVM还不能完成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
JVM 屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
JDK = JRE + BIN(常用的开发工具)
JRE = JVM + API(应用程序编程接口 核心类库 语言厂商提供的内容)
JVM = ClassLoader + Bytecode Verifier + Interpreter
类加载器 + 字节码校验器 + 解释执行器
环境变量设置的作用
path 是针对操作系统而言的。设置path之后,在DOS任何盘符任何目录下,都可以直接使用JDK和JRE下的工具程序。
classpath 是针对ClassLoder(类加载器)的,作用是当你通过网络下载了别人写好的class.jar包后通过设置CLASSPATH直接使用
java_home 它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。