JDK配置环境变量详解

今天给大家详细讲解一下安装完JDK之后配置环境变量的方法以及原理。大家在网上搜索这部分内容,大部分结果显示都是要配置两个变量path和classpath,但是有时候按照网上的步骤却配置不好,这是什么原因呢,今天我带大家看一下其中的原理。先来看一下安装好JDK之后的目录:《JDK配置环境变量详解》
这个目录就是JDK的目录,咱们只关注bin目录下的内容:
《JDK配置环境变量详解》
这个就是bin目录里的内容,大家会发现里面全部是一些可执行文件,其中有javac.exe,java.exe,学过java的都知道这两个是编译和运行java文件的程序,现在咱们先不配置环境变量,先来写代码,至于为什么这么做,稍后大家就明白了。咱们在bin目录下写一个Hello.java文件:

public class Hello{
    public static void main(String[] args){
        System.out.println("hello world");
    }
}

接下来咱们编译运行这个文件,要编译运行这个文件,咱们得先在dos下找到这个文件的目录,然后使用javac和java命令进行编译和运行,这里的快捷键是shift加鼠标右键,点击“在此处打开命令窗口”,大家会发现dos打开了,路径就是bin目录下,下面咱们先使用javac命令编译一下这个文件:
《JDK配置环境变量详解》
会发下多了一个Hello.class文件,这个就是字节码文件,虚拟机可以直接运行的文件,接下来咱们运行一下这个字节码文件:
《JDK配置环境变量详解》
会发现输出了hello world,大家会问环境变量还没有配置,怎么能编译和运行程序呢,先不急,咱们再在其它目录下重复以上步骤,把刚才的Hello.java文件复制到E盘下面,然后编译:
《JDK配置环境变量详解》
结果是javac命令无法使用,咱们在E盘下试试另外一个命令notepad:
《JDK配置环境变量详解》
这个命令是打开记事本,咱们再在c盘里试一下:
《JDK配置环境变量详解》
C盘下也能正常打开记事本,但是为什么咱们写的java文件在bin目录以外就不能使用javac命令编译了呢,这是因为javac.exe可执行文件在bin目录下,所以咱们能在bin目录下编译并执行java文件,但是在开发过程中把所有文件放在这个目录下会显得比较臃肿和乱,所以咱们要让它在任何路径下都能编译运行java文件,这里就要配置path环境变量了,它的作用和原理这下就显得很清楚,就是告诉计算机javac编译器的位置,所以配置path环境变量就是把bin目录的路径配置进去:
《JDK配置环境变量详解》
这样就可以在其它路径下编译执行java文件了,咱们试一下:
《JDK配置环境变量详解》
会发现在其它路径下也可以编译执行java文件了。还有一个变量classpath,它是干什么的呢?看名字就可以猜出来,它应该是class字节码文件的路径,也就是java命令运行时要到什么路径下找编译好的字节码文件,可是大家会发现咱们之前一直没有配置过这个变量,但是还是能正常运行class文件,这是为什么呢?这是因为JDK默认的class路径是当前路径,就是javac的路径,刚才咱们编译生成的class文件和java文件都在同一目录下,所以它会正常执行。自从JDK5以后classpath都默认是当前路径,所以这个变量可以说是多余的,根本不用咱们去手工配置,只要配置好path变量就可以正常开发了。如果非要给它配置一个路径,就会发现一个class文件只要在你配置的那个目录下,在其它任何路径下都可以使用java命令运行这个class文件,其实大家想一想这样其实是没有任何意义的,对于开发一点好处都没有。
最后大家可以新建一个JAVA_HMOE变量来存放jdk的路径,然后把path中的相应路径用%JAVA_HMOE%替换即可,这样系统就会动态的加载这个路径,这样也便于更换JDK的路径。

    原文作者:玩代码的程序猿
    原文地址: https://blog.csdn.net/u013189927/article/details/51195303
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞