一、环境变量
1.1 环境变量介绍
- 英文(environment variables)
- 一般是指在操作系统中用来指定操作系统运行环境的一些参数 如:临时文件夹位置和系统文件夹位置等。
- 在操作系统中一个具有特定名字的对象
- 包含了一个或者多个应用程序所将使用到的信息。
- 用户通过设置环境变量,来更好的运行进程。
Windows系统中存在两种环境变量:用户变量和系统变量。
1.2 系统变量与用户变量相同点与不同点
1、【相同点】两种环境变量中可以存在重名的变量;
2、【相同点】两者都不区分变量名的大小写,如Path和PATH并没有区别;
3、【不同点】用户变量只对当前用户有效,系统变量对所有用户有效;
1.3 如何修改环境变量?
以下以Win10为例,演示如何修改环境变量
(1)右键单击“此电脑”图标,选择“属性”:
(2)点击“高级系统设置”:
(3)点击“环境变量”
(4)根据需要,修改用户变量或者是系统变量
高版本的用户变量配置起来就是爽,PATH的内容再也不用冗在一起了,系统帮我自动分开了!!!
二、两种环境变量:PATH/CLASSPATH
当要求系统运行一个程序而没有告诉它程序所在的完整路径时
系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。
2.1 PATH
- 值的内容就是一个可执行文件路径的列表,使用分号隔开
- 变量PATH是操作系统用,提供系统寻找和执行应用程序的路径
- 变量PATH是针对.exe程序的
- 变量PATH是系统自带的环境变量
- 让操作系统可以找到JDK命令(指定了JDK命令搜索路径)
- 变量PATH,告诉系统可执行文件放在什么路径
2.1.1 windows系统在执行用户命令时顺序
windows系统在执行用户命令时,若用户未给出文件的绝对路径,则(1)首先在当前目录下寻找相应的可执行文件、批处理文件等;(2)若找不到,再依次在系统变量的PATH保存的这些路径中寻找相应的可执行程序文件。查找顺序是按照路径的录入顺序从左往右寻找的,最前面一条的优先级最高,如果找到命令就不会再向后寻找。(3)如果还找不到再继续在用户变量的PATH路径中寻找。如果系统变量和用户变量的PATH中都包含了某个命令,则优先执行系统变量Path中包含的这个命令。
2.1.2 配置Java环境时注意事项
PATH环境变量原来Windows里面就有,只需修改一下,使他指向JDK的bin目录,这样在控制台下面编译、执行程序时就可以直接使用java、javac命令了;Java的编译器(javac.exe)和解释器(java.exe)都在其安装路径下的bin目录中,为了在任何路径下都可以使用它们编译执行Java程序,应该将它们所在的路径添加到PATH变量中。
2.2 CLASSPATH
- 变量CLASSPATH是java编译器用
- 变量CLASSPATH,告诉JVM要使用或执行的class放在什么路径。
- 变量CLASSPATH是为了在任意目录下能够运行class文件,是针对class文件的
- 变量CLASSPATH系统不自带,需要手动创建。
- 变量CLASSPATH告诉类装载器到哪里去寻找第三方提供的类和用户定义的类。
- JVM和其他JDK工具通过依次搜索平台库,扩展库,和类路径来查找类。
- 变量CLASSPATH指定了Java程序编译或运行时,所用到的类的搜索列表。
2.2.1 JVM查找类的过程
- 不同于Windows查找可执行命令(.exe , .bat 或.cmd文件以及.dll动态链接库)的过程
- 它不在当前路径下查找,只到变量CLASSPATH指定的路径列表中去查找
- 所以,在设定变量CLASSPATH时,一定要将当前路径包含进来。
2.2.2 实例值
.;%JAVA_HOME%lib\dt.jar;%JAVA_HOME%lib\tools.jar
变量值中的“.”代表当前路径
表示让JVM先到当前路径下去查找要使用的类;
当前路径指JVM运行时的当前工作目录
版权归原作者 本本本添哥 所有, 如有侵权,请联系我们删除。