JDK、JRE、JVM之间的关系
这一回,我可要谈一谈JDK、JRE、JVM之间的关系及环境变量配置咯,这也是学习Java及后续不可少的。
1.JDK,全名 Java Development Kit,是Java开发的工具包。
jdk的目录下,包含bin目录、lib目录、jre目录,还有一些其它的目录。
2.JRE,全名Java Runtime Environment,Java运行时环境。
3.JVM,全名Java Virtual Machine,是Java运行的虚拟机。
在JDK中包含了JVM和运行时所需要的jar包,而JVM运行少不了JRE,光有JRE,没有lib目录下的jar包也是不可以滴。
假如,我们用记事本写了个Java程序,那么就需要jdk下的javac.exe来解析java文件,生成字节码文件,由java.exe来启动执行。每次要javac操作的时候都要找到javac,然后再执行解析操作,未免太过麻烦,我们需要在不管什么路径下,都可以使用Javac.exe,因此环境变量里面就配置了
PATH= jdk的bin目录位置
而运行时需要运行时类库,为了不出现NoClassDefFoundError,就需要在系统变量中添加
CLASSPATH= .;lib目录的位置
为了不意外破坏PATH里面的内容,将JDK的版本目录用一个变量代替
JAVA_HOME=JDK目录的位置
实际上,JDK是开发Java时使用的,JRE是Java运行时使用的,也因此在jdk目录下,会出现2个JRE目录,JDK开发Java的时候要运行就得使用JVM和JRE,JRE也可以独立出来运行Java程序。