磨刀不误砍柴工

了解一些基础知识之后,想必很多朋友已经跃跃欲试了。不过不要着急,我们还有一些准备工作要做,做好了准备工作,事半功倍,磨刀不误砍柴工嘛。

要准备什么?

前面我们已经提到,代码是我们人类编写的,却是要计算机执行的,而且我们编写的代码是我们能看懂的,计算机不能直接识别,需要用编译器或者解释器之类的软件翻译成计算机能看懂的指令才行。
因此,我们首先需要能帮我们编写代码的工具;其次我们需要能帮我们把代码翻译成计算机指令的工具;最后,让程序运行,还需要一些附加资源,这些组合起来就是程序的运行环境
在学习Java时,第一种工具就是代码编辑器,或者IDE;第二种工具就是JDK,Java开发工具包;第三种工具是JRE,Java运行环境。
我们先来学习关于JDK和JRE的知识,这是基础。编写代码的事情放到后面来说。

JDK和JRE

JDK是Java开发工具包,顾名思义,就是开发时使用的软件。它包含了开发Java程序所必需的工具,包括编译器、JVM以及标准库程序等。如果你是要学习Java或者开发Java工具,那么安装一个JDK软件就足够了。
JRE是Java运行环境,包含了运行一个Java程序所必要的资源,例如JVM、标准库程序等。
JDK就是开发工具+JRE。
简单来说,就是如果你要学习或者开发Java程序,请安装JDK软件;如果只想运行Java程序,只安装JRE软件即可。
从用户角度来说,学习者和开发者用JDK,最终客户用JRE。

版本

Java从诞生至今已经超过20年,期间产生了N个版本,我们用哪个好呢?
我们先来大概了解一下Java的版本历程。
最初的Java相关软件都是SUN公司开发和发布的,标准也是SUN公司制定的。但是好景不长,其它公司看到Java这么火,也想从中分一杯羹,于是出现了多个魔改版的Java。最终SUN公司通过法律武器保护了自己的权益。
此后很长一段时间,SUN公司都牢牢将Java攥在手里。这不是坏事,至少避免了Java技术的碎片化。
后来SUN公司将一大批软件技术开源——也就是将这些软件的源代码开放出来——其中就包括Java。于是,一个完全由社区开发和维护的版本,OpenJDK,诞生了;同时,SUN公司也在发布自己的Java相关软件。
但两者几乎完全兼容——除了因为版权问题无法开源的少数代码之外,两者是相同的。实际上,自开源之后,SUN公司版的JDK就是在OpenJDK的基础上开发而来的——后来SUN公司被Oracle公司收购,Oracle版的JDK也是这么来的。
因为开源,不可避免得会出现一些特殊的Java版本。为了避免碎片化,Java社区制定了一套完善的标准,要求所有的版本都必须遵守,从而实现各个版本之间的兼容。
目前,最基础的版本就是开源社区开发和维护的OpenJDK,它提供了基础的功能,其他的版本都在此基础上开发,并且遵守相应的标准,实现不同平台的兼容性。比较著名的版本包括Oracle版,阿里的龙珠版(Alibaba Dragonwell),Adopt版等。
因为各个版本遵循的标准相同,因此我们无需担心代码不能通用的问题。我们今后的学习将以Oracle版为主,顺带会介绍一下OpenJDK。
为了便于说明,我将把所有版本的相关软件统称为JDK,无论它是来自Oracle还是OpenJDK社会,亦或其他组织。

我们了解了JDK的不同版本,再来看看版本号。也许你会说,版本号,当然是越大越新,越新越好啦。
前半句是对的,后半句未必。软件并不是越新越好。我们将要学习的是JDK 11,版本号是11,如果你到各个网站上查,还有12和13版。为什么不用最新的?因为11是LTS,也就是长期支持版,自发布之日起,8到10年内,如果出现问题,都会有人发布修正程序;而非LTS版,例如13版,只有半年到一年的支持。我们可以认为,非LTS版就是LTS版的试验田。
根据2019年的一个调查显示,在2019年,有大约70%的Java项目使用了JDK8。而在生产环境中,还有大量更陈旧的版本。因此,没有必要追求最新的版本,成熟才是最佳选择。
所以,我们选择最近的一个LTS版,也就是11。这样既可以学习基础知识,也能兼顾未来的需要。

需要注意的是,Oracle公司对2019年1月之后发布的新版JDK收费,但仅限于Oracle规定的“商业或生产环境”,对于学习是没有任何影响的。如果你要做商业软件,需要认真了解Oracle的规定。如果没有把握,也可以考虑使用开源的JDK。

 

01

 

下载JDK

我们从这里开始就要动手操作了,我假设大家已经掌握了计算机的基本操作,包括下载、安装和使用软件,了解常用软件的界面和基本用法。这些基本操作我将会略讲。
各版本JDK的下载链接:

我们可以打开相应的页面,根据其中的提示,找到相应的下载链接,点击,即可下载。
以Oracle版为例,我们打开上述链接,在页面中找到“Java SE 11.0.5 (LTS)”(“11.0.5”是目前提供的版本,今后可能会推出新的版本),点击旁边的“Download”按钮,在下载页面中选中“Accept License Agreement”选项,然后根据自己的操作系统类型,选择要下载的版本就可以了。目前JDK11只支持64位操作系统。我们常用的Windows系统对应两个下载链接,这两个链接提供的软件完全相同,仅仅是安装方式不同。后缀名是exe的表示带有安装程序,后缀名是zip的表示直接解压缩就可以用。

下载Oracle版JDK时,需要先注册成为Oracle用户,免费,过程不再赘述。

安装JDK

双击下载好的文件jdk-11.0.5_windows-x64_bin.exe,然后根据安装向导进行安装。在安装过程中需要记下安装的路径,本次安装使用的路径是C:\Program Files\Java\jdk-11.0.5

说明:如果你下载的是zip格式的安装包,或者OpenJDK的安装包,那么解压缩即可,但一定要记住解压缩的路径。此外,JDK所在目录的完整路径中不要出现中文等非英文和数字的符号。

安装完毕后,需要配置环境变量,以便操作系统和其它开发工具可以找到我们安装好的软件。
单击开始菜单-->“设置”-->“系统”-->“关于”-->“系统信息”(在页面的右侧)-->“高级系统设置”-->“环境变量”,这里有两个设置环境变量的地方:XXX的用户变量只针对当前用户有效,系统变量针对所有用户和软件都有效。最好设置为系统变量。
单击系统变量下方的“新建”按钮,在弹出对话框中的“变量名”一栏中输入JAVA_HOME,“变量值”一栏中输入C:\Program Files\Java\jdk-11.0.5,也就是安装路径。如果你的安装路径不是默认值,那么请输入你实际使用的安装路径。
然后选中系统变量中的“Path”,单击“编辑”按钮,在弹出对话框中单击“新建”按钮,在新出现的文本框中输入%JAVA_HOME%\bin

JAVA_HOME这个环境变量在初学阶段并不是必须配置的,它只是存储了JDK的安装路径,如果直接在Path环境变量值的后面加上C:\Program Files\Java\jdk-11.0.5\bin这个路径也是相同的效果。但在更高阶段的学习过程中,一些重要的软件会通过JAVA_HOME来查找JDK的安装位置,因此建议大家一定要配置这个环境变量。

如果你使用的是win7系统,设置环境变量时,应该单击开始菜单-->“控制面板”-->“系统”-->“高级系统设置”-->“环境变量”,添加JAVA_HOME环境变量的操作和之前所讲的方法相同,不再赘述。在修改Path环境变量时,Win7系统和Win10略有不同,你需要在“变量值”一栏中添加(注意:是添加,原来的内容不能改动);%JAVA_HOME%\bin

至此,就完成了安装和配置。
有些朋友可能会说:我在一些书上看到,还需要配置一个名为“CLASSPATH”的环境变量呢,你这里怎么就不配置了?
“CLASSPATH”这个环境变量现在已经不需要设置了,但在一些特殊情况下仍然可以使用,我们将在后面的课程中涉及。

测试

测试JDK是否安装成功很简单,只需要打开“命令提示符”工具(如果安装过程中打开了,就关闭,重新打开,每次修改环境变量都需要重新打开才能使新的环境变量生效),在其中输入命令java -version,应该能看到:

C:\Users\jinzh>java -version
java version "11.0.5" 2019-10-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode)

在输入命令javac -verison,会看到:

C:\Users\jinzh>javac -version
javac 11.0.5

这就说明安装和配置都是正确的。
使用不同版本或开源的JDK,显示信息可能略有不同,重点在于版本号。
如果看不到这样的提示,那么说明安装过程有问题,或者配置环境变量时出现错误,需要认真检查和排错。

 

01

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值