文 | 张彦奇
JDK、JRE、JVM这些都代表什么?不上度娘,如何自己配置环境变量?如何自己验证环境变量是否配置成功?
Java初学者在开始开发前,往往需要先完成开发的准备工作——配置我们的开发环境。
配置开发环境我们知道需要下载JDK,安装JDK,配置环境变量。然而好多新手开发者连JDK都不知道什么意思更别提让他自己配置环境变量了。针对这些初学者一定会遇到的问题,我写了这篇文章,各位如果觉得看完之后对您有帮助,不妨帮我点个喜欢或者分享给需要这些知识的人。
下载安装JDK之前我们要明白:JDK、JRE、JVM这些都代表什么?
我们新接触到一个陌生的领域,对这方面的各种知识一片空白也是在所难免。但是随着我们学习时间的增长,对于这些知识肯定也会烂熟于心,希望对开发感觉到很难的初学者能够明白:“合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。”
说回正题,我们配置开发环境的第一步就是下载安装JDK,我们先不忙着下载安装它,应该先来看看这到底是个什么东西。
JDK的全称是Java SE Development Kit,即Java标准版开发包,是Sun提供的一套用于开发Java应用程序的开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。
引用部分很直观明了的为我们说明了JDK到底是什么,包含了什么。也就是说我们没有JDK就无法开发,因为我们开发所需要用到的东西都在这个JDK里面包含着,所以我们需要JDK。
JDK概念图我觉得这个图可以很好的帮助我们理解JDK,JRE和JVM的概念,JDK是最大的那个括号,它包含了图里所示的所有东西,在它旁边还有一个比它稍小一点的一个叫做JRE的东西。
JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
在这里,引入我们的第二个概念JRE——Java程序运行环境,它是运行Java程序的必需条件。JRE旁边还有一个括号,上面写着JavaSE APIs,这就是Java的核心类库,运行Java程序时需要这些核心类库的支持。而在JavaSE APIs还有一个没被括号括起来的东西,这个就是Java跨平台最重要的东西了——Java虚拟机,简称JVM。
这里引入我们的三个概念——JVM,先来看看它的定义。
JVM是Java Virtual Machine(Java虚拟机)的缩写,Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。Java的代码都是放在JVM上面执行的所以与平台没有关系,无论你是Windows,Mac还是Linux只要有Java的运行环境你都无需修改任何代码进行运行,这就是所谓“一次编写,到处运行。”
好了现在我们来大致的捋一捋,JDK>JRE>JVM,他们三个是包含关系。我们所有的Java程序经过编译器编译成字节码都会交给JVM来解释执行,当然运行Java程序不仅需要核心虚拟机,还需要其他的类加载器、字节码校验器以及大量的基础类库,这些东西就是加起来就变成了JRE,所以如果仅仅执行Java程序我们不需要用到JDK,有JRE就够了。当我们需要开发的时候就得用上一些JRE里所不包含的开发类库和工具,这些东西全部加起来才组成了JDK。
上面的我所讲的您看懂了吗?没看懂就再看一遍吧!
让我们开始下载安装JDK吧
下载JDK我们可以直接去百度搜索JDK关键字,去往Oracle的官网下载。
我接受许可协议进入下载页面后我们点击“接受许可协议”,然后根据自己的系统版本就行下载安装即可。注:x64代表64位操作系统,x86代表32位操作系统。
因为我使用的Windows系统所以就使用Windows平台为例了,下载完成后得到一个后缀名为.exe的文件,双击打开安装页面。
JDK安装一般我都是全部安装,这里需要你记住自己的JDK路径,默认路径也不难记,我一般都是使用这个路径的,日后你为自己的IDE手动添加JDK的时候需要知道自己的JDK路径在哪。
下一步等待安装完成然后关闭即可。
安装完JDK之后你就可以按下win+R输入cmd回车进入到命令行操作界面,然后输入“java –version” 按下回车出现如下界面就是安装完成了,这个命令是显示当前电脑上JDK的版本号。
注:java后面有个空格然后接-version。
java -version下载安装JDK到这里完成,现在我们说说配置环境变量。
IDE大行其道的今天,为什么还要学习配置环境变量?
Java初学者,无论有没有老师带,基本上都会遇到自己手动配置环境变量的问题,好多初学者包括我那时候都不知道怎么配置,老师也是让我们去百度搜索按照上面的配置,百度搜索固然方便,可我一直想明白到底为什么要这样配置,后来我明白是因为编译问题后又出现了一个问题如今我们写代码都是用的IDE,IDE上面本身即有编译工具,到底还没有必要去配置环境变量呢?
我的意见是:要。艺多不压身,日后想教后辈了也可以说说这里面的道理。
配置环境变量,先明白为什么要配置,再明白什么是环境变量,最后学习如何去配置。
在我的上篇文章——Java编程前,我们要明白的事 的末尾我简单说了一下Java程序的执行过程,不知道的同学可以点进去看一下。
执行Java程序时,我们需要先将Java源文件用javac工具编译成字节码,再执行java命令由JVM加载执行。这两个工具在安装JDK时都放在了JDK目录下的bin目录下。而在没有配置环境变量的电脑上在DOS窗口下输入这两个命令对Java源文件进行编译则会提示您“'xxx'不是内部或外部命令,也不是可运行的程序或批处理文件”的提示。
示例这是因为Windows操作系统在运行任何命令的时候会根据系统的Path环境变量来查找命令。Path环境变量的值是一系列路径,Windows操作系统将在这一系列的路径中依次查找命令,如果能找到这个命令,则该命令是可执行的;找不到则会出现上面的提示。
因为在系统的环境变量中找不到javac工具,所以我们就无法进行编译,无法编译我们也就无法运行这个程序了。这就是我们为什么了要配置环境变量:
为了能操作系统能够找到Java工具的所在路径,从而使用Java工具。
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
比如说:我们打开Win+R然后输入notepad,就会打开记事本,因为notepad这个工具是在Windows记事本的应用名字,在我们不给系统notepad这个工具所在的路径时候,系统就会去系统的Path环境变量中的路径中一个个去找,notepad记事本啊计算器啊这些小工具都在如图所示的目录下。
Path环境变量目录如何来配置环境变量?
其实前面讲了一大段基础知识,但真到实操的时候,就属这部分知识最简单。
首先我们需要知道自己的JDK目录下的bin路径,如果觉得手打麻烦的话可以进入JDK目录下的bin路径,然后单击一下路径窗口,右键复制就行了。
右键一下复制知道我们这个路径后就要去设置环境变量了,右击桌面上“此电脑”图标,出现右键菜单;单击“属性”菜单项,然后点击左侧的高级系统设置,在出现的页面上打开环境变量,然后单击一下系统环境变量中的Path,点击下面的编辑,然后新建,把你的bin路径复制进去即可。
注:最后别忘了点确定。
我的是win10 点击环境变量 点一下Path,然后点击编辑 点击新建,把目录复制进去即可以上就是配置环境变量了,很简单,可能有人会说网上不是这样教的啊,原理都是一样的原理,这是最简单直接的办法,网上可能又说要建javahome或者pathhome只是为了让你后来万一JDK目录了,你修改环境变量的时候能起到一个容错作用。作用都是给系统一个路径,让它能查到你的Java工具路径。
我上面用的是win10系统,页面和win7系统有点稍稍不同,大部分都一样,最大的不同应该是新建环境变量部分了,win7系统Path环境变量是在一行并没有像win10这样分成一行一行的,但是添加方法都是一样的,注意路径和路径之间要用英文 ;分隔符分开。
如何验证自己是否成功配置环境变量?
打开cmd,输入javac 按下回车键,出现如下界面即为成功,找不到命令就是失败。
javac上面都是在讲的都是Windows环境下,Linux系统下配置如何配置呢?因为我没有装Linux系统所以也无法给大家实操了,下面给大家一段文字解说,Linux用户可以照着这个格式进行配置。
在Linux上设置环境变量 进入当前用户的home路径下,然后在home路径下输入如下命令: ls -a 该命令将列出当前路径下所有的文件,包括隐藏文件,Linux平台的环境变量是通过.bash_profile文件来设置的。
使用无格式编辑器打开该文件,在该文件的PATH变量后添加:/home/yeeku/Java/jdk1.7.0/bin,其中/home/yeeku/Java/jdk1.7.0/是笔者的JDK安装路径。
修改后的PATH变量设置如下所示: # 设置PATH环境变量 PATH=.:$PATH:$HOME/bin:/home/yeeku/Java/jdk1.7.0/bin
Linux平台与Windows平台不一样,多个路径之间以冒号(:)作为分隔符,而$PATH则用于引用原有的PATH变量值。
完成了PATH变量值的设置后,在.bash_profile文件最后添加导出PATH变量的语句,
如下所示: # 导出PATH环境变量 export PATH 重新登录Linux平台,或者执行如下命令: source .bash_profile 两种方式都是为了运行该文件,让文件中设置的PATH变量值生效。
网友评论