一:关于path环境变量--为了在任意目录下,使用javac/java命令java
第一种配置方法:spa
经过配置path环境变量,咱们可使某个程序,好比javac.exe,在任意目录下均可以运行,而不用跑到javac存在的目录下进行dos命令。命令行
好比:能够将QQ.exe所在目录配置到path中,这样在任意目录下打开命令行,输入QQ.exe均可以运行QQ。 blog
见图:开发
经过以上设置,咱们将程序的开发文件存在其余目录下,同样能够运行javac命令来进行编译、运行。io
第二种配置方法:编译
当电脑上有多个JDK时,就须要屡次修改path,用哪一个jdk的java、javac、就须要修改path中的bin路径,这样很容易出错!class
ps:两个%%至关于引用的意思。变量
好处,当切换JDK时仅须要修改JAVA_HOME中的安装路径就能够。jdk
综上所述: 配置path变量是为了在任意目录下使用javac、java命令! 前提是你得进入这个任意目录啊大哥!想要不进你存java文件的目录就运行编译,除非你去配置classpath变量!
2、classpath变量---为了避免进入存放文件的目录就能够经过javac、java运行、编译该文件。(java、javac命令在哪里均可以使用,由于咱们配置了path)
咱们通常不配置classpath,由于若是有不一样文件夹下重名的class文件,执行的是classpath中靠前的那个,有可能不是咱们但愿执行的那个class文件。
做用:使能够在任意路径下执行class文件。
配完classpath之后,(在classpath中配置当前class存放目录:如f:\huangtao\javase\)在c、d、、、任意地方均可以运行class文件,
ps: java运行class文件时,按顺序搜索classpath中的几个路径。
classpath仅仅是为了.class文件能够在任意目录运行(前提是这几个任意目录都已经配置在了classpath中),可是javac编译java文件时必需要跳到该文件所在目录之后才能执行。
好比在f:\huangtao\java文件\下存放了一个HelloWorld.java文件,只能够在该目录下才能够执行javac命令编译该文件。
在f:下存放了另外一个HelloWorld.java文件,也是只有在该目录下才能够javac编译这一个java文件。
配置了classpath之后,当咱们想运行f:\huangtao\java文件 下的class文件,能够不用在该目录下执行java HelloWorld,只要在f:中都行,系统会默认先执行classpath中靠前的那个class路径。
三:classpath与path的区别
ps: path里记录的是 .exe 文件,classpath对应的是 .class 文件。