- 环境变量理解
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
- JAVA环境变量配置
Java执行环境(JDK)本身就是一个平台,执行于这个平台上的程序是已编译完成的Java程序(后面会介绍到Java程序编译完成之后,会以.class文件存在)。如果将Java执行环境比喻为操作系统,如果设置Path变量是为了让操作系统找到指定的工具程序(以Windows来说就是找到.exe文件),则设置Classpath的目的就是让Java执行环境找到指定的Java程序(也就是.class文件)。
程序解析:
首先编写java源代码程序,扩展名.java;
在命令行模式中,输入命令:javac 源文件名.java,对源代码进行编译,生成.class字节码文件;
编译完成后,如果没有报错信息,输入命令:java HelloWorld,对class字节码文件进行解释运行,执行时不需要添加.class扩展名。见下图:
即:JDK(Java Development Kit)Java开发包安装完成后是提供了java程序运行的环境,这个环境只能执行.class文件,而.class可执行文件是由.java源文件编译后生成的,执行是通过java.exe完成,编译是通过javac.exe完成,这两个文件分别放在jdk安装目录中,就像安装酷狗一样,电脑执行酷狗时,是找到酷狗安装目录里的kugou.exe文件,同理,如果不给电脑指定java.exe和javac.exe这两个文件的安装目录,是无法识别JDK来完成程序的编译和执行。
因而:path变量必须要指定两个,一个javac.exe文件(c即complie)所在位置,一个java.exe文件所在位置,如图示:
path=C:\Java\jdk1.8.0_131\bin;C:\Java\jdk1.8.0_131\jre\bin;因为jdk安装目录较长,为了查看理解方便,我们将jdk的安装目录习惯性给命名为JAVA_HOME,即:JAVA_HOME=C:\Java\jdk1.8.0_131,path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;在电脑-属性-高级系统设置-环境变量-新建系统变量,新增JAVA_HOME,PATH两个系统变量:
而除了JAVA_HOME和PATH两个环境变量以外,.class文件被执行是需要一些类或者包的,设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包:classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
因此总结为:JAVA环境变量需要设置三个:
JAVA_HOME=JDK安装目录
PATH=javac.exe存在路径;java.exe存在路径
CLASSPATH=java程序所需要的类或者包
- path环境变量的作用--帮助系统操作java
我们用javac将源码编译成.class文件, 在调用java 命令让程序执行.
问题是:系统是如何找到并调用javac.exe和java.exe两个应用程序的?
打个比方,平时我们运行某一程序,比如魔兽,酷狗音乐,都是先找到它们的应用 程序war3.exe和kugou.exe的所在位置,然后双击运行。那么操作系统是如何自动找到javac.exe和java.exe的位置呢?
- classpath环境变量的作用--告诉java虚拟机所有的可执行文件.class都在哪
它的值也是由目录组成,它的作用在于告诉Java执行环境,在哪些目录下可以找到所要执行的Java程序所需要的类或者包。
比如我要运行一个名为Test.class的文件,而这个程序调用了另一个Link.class文件的内容,那么系统必须知道 Link.class文件的位置才能调用Link.class文件。如果Link.class文件的目录在classpath环境变量的值中,就可以找到了。
- java_home环境变量---使得其他相关环境变量的配置更加方便简洁
java_home一般设置为jdk的安装目录,比如C:\Program Files\Java\jdk1.6.0_22.如果设置了java_home,那么path环境变量可以配置为“%java_home%\bin”.
详细安装配置步骤请看:https://jingyan.baidu.com/article/4ae03de320d99f3eff9e6bfd.html