win10下JDK安装及环境变量配置

JDK安装及java环境配置(win10)

以前为了学习java,安装过eclipse和jdk,并进行了java的环境配置,也没有出现什么问题。今天突发奇想,想用命令行对java源文件进行编译和执行,发现java命令可以正常使用,但javac一直显示不是内部命令。上网查资料发现很多人遇到同样的问题,但解决的方法大家是众说纷纭,有的说win10下环境变量要用绝对路径,有的说系统和用户的环境变量都要配置……我尝试了其中的不少方法,还是不行,最后无奈选择重装jdk和配置环境。

理论准备

最开始我按照网上教程配置环境的时候,也是糊里糊涂,只知道跟别人一步一步来,却并不理解其中的道理。究其原因,还是理论不牢。直到看了一篇关于JDK、JRE、JVM、和javac的博文,才茅塞顿开,恍然大悟。

javac是将java源文件编译为.class文件(一种字节码文件)的编译器。

JVM是解释执行.class文件的虚拟机,.class文件并不直接与机器系统打交道,而是通过JVM与系统的交互解释执行。JVM是实现java跨平台性的关键。

JRE(java runtime environment),指的是java运行环境。光有JVM还不完能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。(jre里有运行.class的java.exe)

JDK(java development kit),是java开发工具包,基本上每个学java的人都会先在机器上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、 jre。 bin:最主要的是编译器(javac.exe)。 include:java和JVM交互用的头文件。lib:类库jre:java运行环境(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)

 我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM(java.exe)。总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。 

eclipse自带编译器,故只需要确定JRE的相关路径。

实际操作

先在官网上下载JDK安装包。点击安装包进行安装,安装过程中有两次路径选择,第一次是选择jdk的安装位置,第二次是选择jre的安装位置,我均选择默认路径。安装目录如下图。

然后设置环境变量,点击——此电脑——属性——系统高级设置——环境变量,打开的页面由两部分组成,一部分是用户环境变量,另一部分是系统环境变量。我是在系统环境变量上进行操作。

我们首先添加环境变量JAVA_HOME,值为“C:\Program Files\Java\jdk1.8.0_171”(引号内为变量值)。

接着添加环境变量CLASSPATH,值为“.;C:\Program Files\Java\jdk1.8.0_171\lib\dt.jar;C:\Program Files\Java\jdk1.8.0_171\lib\tools.jar;”(据说现在新的JDK已经不需要设置这个变量了)。

最后在原有的Path环境变量后面追加两个值,如下图所示。(先新建,再利用浏览选项添加,要新建两次,注意不要忘记新建以致误把别的值改了)

用文本编辑器写一个简单的java程序,调用命令行检验设置结果,配置成功。

问题

JDK在安装的时候,有两个文件夹,一个jdk,一个jre,但实际jdk中间包含jre。在设置环境变量Path的时候,应添加C:\Program Files\Java\jdk1.8.0_171\bin,因为其目录下有javac.exe;同时添加包含java.exe的目录C:\Program Files\Java\jdk1.8.0_171\jre\bin,事实上把它换成C:\Program Files\Java\jre1.8.0_171\bin也是完全可以的。实在不明白装两个jre干啥。

 

 

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值