我们刚开始学习java,都会面临编程路上的第一个小怪兽:配环境变量。
网上很多教程给了我们很多的参考,但我们是否有想过为什么要这么配呢?下面我就是想重点探讨一下为什么?并且希望以后你们不但能配,还知道这么配,不至于被这个傲娇兽耽误了学习的兴趣233
一、JAVA_HOME
1.这个配置主要是为了方便你后续的一些更改操作,也可以说是满足所谓的“归一原则”。
列如:你将一下东西(假如 书)放到了一个蓝色的箱子里,而蓝色的箱子你现在把它放在了墙角落。可那一天,你想更改一下,房间的布局了,将箱子移到了 厕所(⊙﹏⊙)b,那你在想要找书的时候,你会怎么找呢?是去墙角吗?不是吧,是直接去找蓝色的箱子。
那现在你或许就懂了,蓝色的箱子就是“JAVA_HOME”,而里面的书,就是你想要放入的东西(“你jdk的安装目录”)。
2.那当你理解这个蓝色箱子的用途后,你就会发现,它是可有可无的,但我们一般配它是为了更方便的使用,你总不希望每天抱着书走吧……
现在我们把它删掉
删掉了
将path路径写成绝对路径
发现了吗?,依然是能运行的啊
那么竟然提到了PATH,那下面我们就来讲讲PATH的用途及配置好了
二、PATH的配置
path有什么用呢?
1.告诉操作系统去哪里找你的java相关程序
2.便于你可以直接使用java指令(因为被操作系统找到了呗)
怎么配置:
1.就像我上图一样将它配成“你安装的jdk中的bin目录下”,为什么是bin目录下呢?因为它是工具包的目录,java中的工具都是在这个目录下,列如:你们以后会非常熟悉的javac.
编译指令
2.设置成相对路径,这就涉及到前面的JAVA_HOME了,也就是说为了方便,你可以直接通过箱子找到你要的,至于具体的书是什么,你就在箱子中好好翻找吧
创建一个JAVA_HOME,另外注意一个小细节,变量值的后面 不要加 “ ;”,因为你加了分号,就相当于告诉操作系统搜寻结束了,你要光找到箱子,这样没什么问题,可关键是你要找的是箱子里面你具体想要的书啊,当然,你们也可以加一下分号试一下
配置PATH
搞定!
好,大家也可能发现了,我没有配置CLASSPATH,然而jdk已经可以正常使用了,为什么呢?
三、CLASSPATH
其实你不配它也没有多大的影响,因为java虚拟机在寻找.class文件中会默认先从不目录下找,所以这不一下就给提溜出来了。一般别人会让你将
CLASSPATH=“.;”配置成这样,是因为 “.” 就是寻找本目录下的意思,你这样配置当然更为严谨一些。
也有人这样配
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
这主要是因为在后面的学习中,我们会使用到java很多的第三方工具包,而这个包大多就在上面配置的路径下,所以当你们的程序涉及到这些的时候,classpath会指引jvm或编译器寻找到他们所想要的工具。当然你们也可以将自己将要使用的包的路径添加到 它的后面。
这也是配置classpath的意义。
发散思想:
1.你们有注意到 我们安装jdk的时候,还提示我们安装了一个jre吗?而jdk中是有jre的,这不是 多此一举吗?
就是多此一举啊(⊙﹏⊙)b
jre主要是给我们提供一个使用java的运行环境,jvm,java.exe也包含在这里面,然而,我们作为一个开发者并不满足于只是要使用,还要编译,所以,我们需要jdk中编译器以及工具包。所以啊,你把jre删了也没问题……我没让你删jdk中的jre啊,删错了别找我233
2.其实classpath真的不需要配啊,因为你们编写程序所要使用到的第三方软件(eclipse……)都已经默认的将你们的classpath给补全了,所以你即使以后要使用到第三方包,也仅仅只需要导入你使用的软件就好了。
3.欢迎补充:)