java 三个环境变量的理解

一般教程中有三个环境变量,path,java_home和classpath。

但是在java核心中,看到只是设置一个环境变量即可,就是path。

1.环境变量path是可执行文件路径,就是操作系统查找可执行文件需要遍历的目录。因为java程序需要编译用到javac命令,但是这个命令不知道在哪里,操作系统就会去环境变量指定的路径去查找。否则找不到就识别不了执行不了这个目录。同时环境变量也是一种固定变量,就等于一个全局变量一样,定义一次就好,不用写在代码里。比如在命令行执行javac -version ,javac前面其实省略了一个路径:jdk的安装路径/bin,比如我安装的jdk路径是,D:libJavajdk1.8.0_211in,上面命令行其实执行的是:D:libJavajdk1.8.0_211injavac -version

所以环境变量其实也是一个变量,记录了某些路径,当你执行某些可执行文件的时候,操作系统会去这些目录找有没有这个文件,有就将前缀给你补充完整,执行;没有就拒绝执行。

所以配置了path环境变量就可以在任意目录下使用和执行javac和java命令。

在D:libJavajdk1.8.0_211in目录下,可以发现有javac.exe和java.exe文件(程序,可执行文件)。-version是执行这个文件的参数。

就算暗转了myeclipse也要配置环境变量path,因为虽然可视化了,后台还是会调用,javac编译。

path配置的是,jdk安装目录下的bin路径。

2.javahome文件其实也不是必要的,只是一个中间变量,,他定义jdk的安装位置,这样在配置path路径的时候就可以这么写,%javahome%/bin, 所以也可以不用,直接用绝对路径也可以。

用的理由是:在和第三方软件合作的时候或者被引用的时候,可能会默认使用javahome路径,如果路径发生变动,一个个位置改可能会改漏,如果配置了环境变量javahome,那就只改javahome一个地方就可以了。

3 classpath也可以不用,jdk1.5之前需要,之后的就不需要了,除非你先往下兼容。他的作用是,标识类库的位置(java公共),让解释器(java)知道去哪里寻找标准类库,比如java.lang包中的类。这些类是别人写好的,我们尽管用。这样在写java文件的就不用import对应的类,系统默认import了,就可以直接使用相应的方法,不在classpath里面的类,需要自己import引用之后使用。

一般包含两个包,tools.jar和dt.jar

经验分享 程序员 微信小程序 职场和发展