什么是JDK、JRE?
JDK(Java Development Kit -- Java开发工具包) |
JDK是提供给Java开发人员使用的,其中包含了java的开发工具和JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等 |
JRE(Java Runtime Environment -- Java运行环境) |
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等, 如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。 |
安装完jdk后,在\bin目录下放的是一些开发工具,常用的就是javac.exe(编译工具)和java.exe(运行工具),前者是把java文件编译成后缀为.class的字节码文件,后者是对字节码文件进行运行。
什么是JVM?
JVM(Java Virtal Machine -- Java虚拟机) |
|
|
|
|
举个栗子你就可以知道JVM起到了什么作用啦。假如薛之谦(歌手)要在沙漠、雪地、海上这个三个场地举办一场演唱会,这三种不同属性的场地相当于各种各样的操作系统(windows、Linux、Mac),不管什么场地,最后薛之谦开始唱歌(程序运行)的时候是不是都在舞台上??对吧,JVM就是起到舞台的作用,有JVM的地方java程序就能运行,这也印证了那句话“一次编译,到处运行”。
总结一下:它们三的关系如图所示。
为什么要配置系统环境变量?
上面说到安装完JDK后在bin目录下有很多java的工具,如果不配置环境变量的时候,你每次编译或者运行都要在bin目录下的工具完成,而且所写的java源代码也要放到bin的目录下。
在没有配置环境变量的时,可以直接进入到jdk的安装目录下的bin目录,直接输入javac或者java命令检测,就会弹出配置好了java的开发环境,这是因为使用了bin目录下的java工具,那么为了在任何目录下都能使用这些工具,就需要配置一下环境变量。
根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path环境变量中,让系统帮我们去找运行执行的程序。如果在编写程序的目录下找不到该java工具,就会到path路径下寻找。
由上面可知,只需要把JDK安装目录下的bin目录的路径添加到path中就行了,但是为了方便后序的其他软件也能够使用到JDK,需要多做一步。
第一步:
右击我的电脑--属性--高级系统设置--环境变量
这里需要注意,你在上面的框里配置是相对于用户来说的,如果你的电脑是多个用户使用,那么如果你配置好了,只有你的账号能用,换其他人的账号登录这台电脑,依然会是没有配置过的;
如果在下面的框里配置是相对于系统(电脑)来说的,只要是这台电脑和这个系统,一次配置,所有用户都能使用。至于配置哪一个,看你需求了。
点击图中的新建,变量名填写:JAVA_HOME(不是一定要这个,习惯),变量值填写JDK的安装目录,点击确定。
第二步:
找到已经存在的Path变量,点击编辑。
点击新建,填写%JAVA_HOME%\bin,因为bin目录下放的是java工具。这里相当于用JAVA_HOME代替了JDK的路径,必须放在两个%内,在加上bin目录。
全部点击确定后,环境变量是已经配置好了的,可以在控制台输入java、javac、java -version等命令检测,按理说输入bin目录下的工具名称,应该都能弹出相应的信息(本人已试)。
注意:
可能有点人使用win7系统,点击新建或者是编辑时弹出的是上面这个图,这是可以在变量值的最前面添加%JAVA_HOME%\bin; (注意加上英文的分号,是为了区别开其他变量值),如果是win10的就不用加分号。
可能很多人参考了其他网上的一些配置步骤,需要再新建一个CLASSPATH变量,其实没必要,你理解了原理,你就知道配置这些东西是为了什么,配置的目的就是让系统自己去找bin目录下的java工具。