关于java:Java语法-开发环境搭建

31次阅读

共计 7123 个字符,预计需要花费 18 分钟才能阅读完成。

前言

C: 上篇的介绍是否能让你对 Java 语言有一个初步的意识呢?意识完后,大家可能焦急想上手编程了吧?但就像你要去游泳,也得先找到一个泳池?所以还是先耐下性子,听查老师说,在正式开发一个 Java 程序前,咱们首先应该在计算机中,筹备好对应的开发环境,Java 语言所须要的开发环境是 JDK / JRE。

这是万里长征的第一步,搭好 Java 根底开发环境是 Java 系开发者必须把握的技能,所以查老师倡议你,珍藏好本篇教程,JDK 多装置个几遍,它又不是流氓软件,不影响(卸载不残留,重装如新装)。

系列浏览

查老师有话说: 尽管查老师心中你是最棒的,然而如果你上一篇没看,还是倡议关上疾速串一下,以避免对下方的内容无奈放弃连贯性。

  • 《Java 语法 | Java 概述》
  • 《Java 语法 | 开发环境搭建》
  • 《Java 语法 | 第一个 Java 程序》

JDK 和 JRE 的概念

首先咱们介绍一下咱们要装置的 JDK / JRE 的概念。

JDK 的全称是 Java Development Kit,即 Java 开发工具包,是 Sun 公司提供的一套用于开发 Java 应用程序的开发包,它提供了编译、运行 Java 程序所需的各种工具和资源,包含 Java 编译器、Java 运行时环境(JRE),以及罕用的 Java 类库 等。

JRE,全称 Java Runtime Environment,Java 运行时环境。它是运行 Java 程序的必须条件。如果只是运行 Java 程序,能够只装置 JRE,无需装置 JDK

查老师有话说:在业内,个别都是间接装置 JDK,因为 JDK 内置了一个 JRE,咱们亦是如此。

JDK 的抉择

抉择谁家的?

理解完 JDK 概念之后,咱们还要理解下目前 JDK 的现状。Sun 公司当初开发了 Java 语言,作为 Java 语言的开发工具包,JDK 在倒退中被 Sun 公司分化为了两大分支。可延长浏览[《Java 终于开源了,采纳 GPLv2 受权协定》]

  • Open JDK,开源(源代码公开)版本,以 GPL V2(General Public License)协定的模式开源
  • Sun JDK,应用 JRL(Java Research License,Java 钻研受权协定)公布。

GPL 协定,在开源协定里被称为 ” 病毒 ” 协定,只有是基于 GPL 协定 开源 的代码来开发,那么这我的项目也必须开源。

JRL 协定,是 Sun 公司本人搞进去的协定,了解起来就是 Sun 公司公开代码,然而代码的所有权齐全归它本人所有,你们能看。

不过上述协定对咱们应用 JDK 没有什么影响,它影响的是那些想改变 JDK 或基于 JDK 代码二次开发的集体或公司群体,咱们又不动 JDK 代码。

其实两个分支版本,在倒退中有很大部分的雷同代码,不过 Open JDK 不如 Sun JDK 残缺是必定的(短少一些个性 API),且一部分代码因为产权等起因无奈受权给 Open JDK 应用,便在 Open JDK 中替换为没有产权问题的代码。

很多大公司为了防止版权问题,都在应用基于 Open JDK 开发或自主开发的 JDK 版本,例如亚马逊的 Corretto、阿里巴巴的 Dragonwell、华为的毕昇、腾讯的 Kona 等(咱们国内往年井喷式开源 JDK)。

另外咱们都晓得,Sun(升阳公司)在 2009 年被 Oracle(甲骨文公司)收买了,Java 相干业务及版权也就归 Oracle 所有。后续的 JDK 更新当然也就由 Oracle 负责了,然而 Oracle 在行业内有一个 ” 不太好 ” 的名声,” 什么都要钱,什么都死贵 ”(实际上,商业公司的实质就是盈利,Sun 公司当初还没做到怎么盈利就没了,Oracle 前面持续做这件事也无可非议)。

在 2009 年到 2019 年期间,Oracle 没有做什么免费的大动作,然而这种状况在 2019 年 1 月 1 日呈现了点变动。Oracle 发表从 2019 年 1 月 1 日起,Oracle JDK 8 的后续更新将须要免费。Oracle JDK 88u2118u212更新,开始把许可协定从 BCL 换成了 OTN,这就意味着,你不能在生产环境应用这类版本了。

BCL 协定,即 Oracle Binary Code License Agreement,协定规定你能够应用 JDK,然而不能进行批改(和上文的 JRL 相似),私用和商用都能够,然而 JDK 中的某些商业个性,是须要付费才能够应用的。

OTN 协定,即 Oracle Technology Network License Agreement,目前新公布的 JDK 用的都是这个协定,能够私用,商用须要付费。[1]

一石激起千层浪,原本就放心的事终于产生了,很多公司更是开始进行 JDK 版本转移和思考当前的抉择。

下图是 2020 年初,Jrebel 在 Java 生态报告中,对 JDK 抉择的调查结果(中国内也差不多,仅供参考)。依据后果示意,Oracle JDK(Sun JDK)Oracle Open JDK(Sun Open JDK) 还是占据比拟大的市场位置,但 AdoptOpenJDK 的占有率也在迅速晋升中。

咱们当初学习抉择用 Oracle JDK 就能够了,公司内就看公司的架构师或领导想法了。可延长浏览,理解更多的 [JDK 发行版]

抉择哪个版本?

每个版本的对应 Open JDK 更新也不是无限期,是有反对期限的。Oracle JDK 8 还有个人版、商业版。这些事其实还挺头疼的,不过咱们当初学习用 Oracle JDK 没有问题,进公司到时候就 ” 入乡随俗 ” 吧。

选定好发行版之后,那咱们用第几版本呢?上面是 Jrebel 的报告,其中很显著是 JDK 8 利用最广。尽管截止查老师调整教程明天,JDK 曾经快要公布到了 JDK 16,然而公司谋求的是稳固,所以没有太大更新或修复的状况,个别降级就十分慢,你想想 Windows 7 到 Windows 10 的用户降级之路就了解了。另外 JDK 9、JDK 10 都没人用,是因为它们都是过渡版本,相似于 Windows8 一样,不是长期反对(保护)版本。

JDK 下载

既然咱们抉择了 Oralce JDK 8,那就返回 Oracle 官网下载吧。

1. 关上下方的链接,或者自行百度搜寻 JDK,找到相似下方页面。

  • 国内官网
  • 中国官网

2. 下拉到页面最下方,找到 Java Archive 点击进入 JDK 历史版本存档页面。

你看 Java SE 8 分为了两个链接,8u211 及之后(免费)和8u202 及之前(收费)。

3. 点击 Java SE 8(8u2020 and earlier) 进入下载页面,而后抉择你所需的平台版本。大多数同学应该用的都是 Windows 64 位的零碎,抉择下方箭头批示的版本即可。

记得勾选 卖身协定

Oracle 当初要求下载 JDK 必须先登录,没有帐号的同学,本人先注册一个吧。网络是真慢!忍忍!

4. 终于下载好了,查老师家里开的热点网络,太慢了。

JDK 装置

C: 下载好了,开始装置 JDK 吧,和装置 QQ 等软件一样,而且它不是流氓软件,不会静默给你下载一个 ” 全家桶 ”。

1. 双击程序安装包,开始进行 JDK 装置,点击下一步。

2. 点击更改,更改 JDK 的装置地位。

查老师有话说: 为了防止出现,你本人装置的软件本人都找不到在哪儿这种问题,咱们对立装置地位,任选一个磁盘,在其下新建一个 develop 的文件夹,用于当前装置所有开发软件。查老师演示时将 develop 文件夹放在了 d 盘下。

在弹出的更改装置目录对话框中,只须要批改后面的盘符 d: 和文件夹 develop,前面的子文件夹 Javajdk1.8.0_xxx 不须要批改,而后点击确定。如果文件夹不存在,装置时会主动创立。

查老师有话说:装置门路不要呈现空格,中文,特殊符号等!

这个时候程序将要装置的地位曾经更改,点击下一步即可开始装置。

补充(理解):对于咱们装置 JDK 时到底装置了些什么?

咱们选中第一个 开发工具 时,右侧给出了提醒,这是装置的 JDK。它是最次要的,甚至咱们能够说只须要有它就能够。

当咱们选中第二个 源代码 时右侧给出提醒,这是 Java 8 的源代码,因为 Java 是公开源代码的。

当我选中第三个 公共 JRE 时,左边给出提醒,这是一个独立的 JRE,咱们能够不必装置。不过个别状况咱们都抉择装置,目标是为了当前如果有一些 Java 程序想独自运行,那么必须配套一个 JRE,到那时候就能够用上了。

比方下方是做支付宝第三方领取反对时,支付宝官网给提供的一个做签名校验的 Java 程序。后缀名为 .jar 的是 Java 程序,然而如果想运行此程序就必须依赖上方的一个独立 jre,咱们方才装置抉择界面看到的就是它。(支付宝官网下载下来的这工具,就给你带着这个 JRE)

4. 期待装置,这步只是在装置 JDK

装置完 JDK 后,会弹出一个提示框,提醒咱们装置的 JDK 版本不受到免费影响,点确定即可。

5. 因为方才咱们没有放弃独立 JRE 的装置,所以当初开始装置它,本人更改好装置门路。最好相似我下方示例,而后点击下一步。

期待装置。

点击敞开,即实现装置。

装置实现后,你的桌面不会呈现任何图标,不必少见多怪,JDK 是开发环境,不是 QQ 这类软件。

JDK 的装置目录如下。

查老师有话说: 方才之所以说能够不装置那个独立 JRE,因为 JDK 自身本人就自带一个 JRE,为什么JDK 会自带一个?咱们就不探讨 JDK 内自带的 Java 程序,就说咱们用 JDK 开发 Java 程序,开发好后也须要进行测试运行啊,所以天然须要这 JRE 了。

独立 JRE 的装置目录如下。

装置完之后,咱们想测试一下 JDK 是否装置胜利,能够运行 JDK 装置目录下 bin 目录内的 java.exe 程序。如果你看不到 .exe,记得自行开启下计算机的扩展名显示。

Windows 中咱们习惯双击运行程序,然而却发现 java.exe 双击后会弹出一个黑窗口一闪而过。这是因为这种程序,它们须要在特地的零碎内运行,比如说咱们的 DOS 零碎,上面就和查老师去学一下根本的 DOS 应用吧。

DOS 零碎

什么是 DOS?

DOS 是什么呢?它的全称是 Disk Operating System,即磁盘操作系统。简略点说,你看过的电影里,黑客们是不是在计算机的一个黑窗口中 ” 运指如飞 ”?这个所谓的黑窗口不是 DOS 那就是 Linux 系。

实际上 DOS 它就是晚期支流的计算机操作系统,起初 Windows 等主打可视化的零碎呈现,才让计算机逐步解脱业余的概念,变得 ” 平民化 ”,走入千家万家。之前之所以专业化,就是因为这个零碎须要通过命令来进行计算机操作,而不能应用鼠标点来点去,所以非专业人士去背命令和习惯这应用形式,几乎 ” 太难 ” 了。

进入 DOS 零碎

在 Windows 零碎任何地位,能够通过按下 Windows 键 + r 键,在左下角弹出的运行窗口输出 cmd 而后回车,就能够弹出 DOS 命令行。

另外,还能够通过在 开始菜单 中间接搜寻 cmd,而后 右键以管理员身份运行 的形式关上。

进入了 DOS 命令行。要求左上方有管理员标识(如果没有此标识,你创立文件等都没有权限,有些命令甚至提醒不存在)。当你是 Windows 10 零碎,那么很可能没有,因为 Windows 10 对于权限的把控比拟严格,所以你能够采取上方的第二种办法进入 DOS 命令行。

进入了 DOS 命令行,先意识下组成,前局部是以后你在 DOS 零碎所处的门路(当前目录 / 文件夹,目录就是文件夹的意思,之后不再解释),后局部就是能够输出命令的地位。

上方的门路,等价于你在 Windows 零碎中进入了如下地位。

DOS 常用命令

查看列表

在上图中,如果咱们在 Windows 零碎中进入了某个门路,能够很直观的看到以后门路下的所有文件和文件夹。那么在 DOS 中如何实现这一目标呢?

输出 dir 命令,即可列出以后所处地位的文件和文件夹列表,如下图所示。

切换目录

那如果不想待在默认的门路了,想切换到其它地位。

  • 雷同磁盘的目录切换,间接通过 cd 目录门路 来切换。(这个门路必须存在,不然切换不过来)

    例如:我想切换到当前目录下的 Documents 目录。

  • 不同磁盘的目录切换,先通过 盘符: 来切换磁盘,而后 cd 目录门路(留神 cd 后有空格)再切换到对应地位。

    例如:我想切换到方才 JDK 的装置目录。

    查老师有话说: 如果门路长,在输出的时候,还能够通过 Tab 键来进行内容补全。例如下方的输出,输出完 De 就能够按一下 Tab 键疾速补全。因为 DOS 会自动识别所在目录下的内容名字,如果能匹配到就能够疾速补全,当然如果有多个 De 打头的内容,那就尽量输出多一些字母后再按 Tab,这样就更精准。

还有一些特地的门路切换,比方返回上一级目录。在 Windows 零碎中,鼠标点一下返回键就能够了,在 DOS中,能够通过 cd .. 命令来切换。... 是每个目录下都存在的两个暗藏文件夹,它们一个代表上一级目录,一个代表当前目录。

还有在磁盘比拟深的门路时,能够输出 cd / 来疾速回到磁盘根目录下。

运行程序

Windows 中如果想运行程序,咱们都是双击程序快捷方式或程序启动文件。而在 DOS 中,如果咱们想要运行程序,只须要输出程序启动文件门路,而后回车即可。

例如:我想运行钉钉程序,我晓得它的启动程序地址,那么就能够利用 Tab 疾速提醒着来输出好地址。下图的 "" 是按 Tab 主动生成的,DOS里为了避免空格产生的影响,能够加 "" 进行包裹,示意一个整体。

这个门路切实太长了,如果在 DOS 中,应用过了且没敞开 DOS 窗口的状况下,还须要应用时,倡议按 方向键,翻一翻历史命令。

测试 JDK 是否装置胜利

OK,把握了 DOS 根本应用,这时候咱们再来通过它运行下 java.exe,输出 java.exe 门路太长了,咱们能够偷点懒。

先通过 Windows 找到 java.exe,而后在地址栏输出 cmd,回车后就能够疾速进入程序所在的地位了。

而后就能够运行 java.exe了,前面追加一个 -version 能够用来查看 JDK 的版本,如果呈现下方所示内容,阐明 JDK 的装置是齐全失常的。

DOS 中能够省略 exe 之类的后缀

环境变量

概述

在方才的内容搞定后,其实咱们的 Java 开发环境曾经搭建完了,咱们之后开发 Java 程序会始终应用方才的 java.exe 程序。不过当初应用还是挺麻烦的,每次都要在 DOS 中先找到程序或输出程序门路能力运行,有没有什么方法能够在 DOS 任意目录应用 java.exe 呢?

看看百度百科理解一下环境变量吧,其实环境变量就是操作系统里存储的一些参数或要害值,每个在操作系统里运行的程序都能够获取到这些存储的内容。(前面咱们学到变量这一程序概念时,就能够更好的了解它的作用了,到时候记得回来再看看)

找到环境变量设置

开始菜单 中搜寻 环境变量 ,点击 编辑零碎环境变量 ,关上 零碎属性 对话框。

高级 选项卡中,点击 环境变量 就能够进入批改环境变量的对话框。

path 环境变量

其中 path 环境变量就是用来存储门路列表的,外面存储了一个个的门路。当咱们在 DOS 命令行中间接输出程序的名字而后回车,这时候 DOS 会先在当前目录下搜寻该文件,若找到则运行之,若找不到该文件,则依据 path 环境变量所设置的门路列表,程序逐条地搜寻这些门路下是否有该程序,有的话也能运行。

这就是咱们当初须要的,能够无效解决咱们为了运行 java.exe 而很麻烦的输出门路等,一劳永逸。有些同学还把一些游戏启动程序存到了 path 环境变量。

配置 JAVA_HOME

接下来就将 java.exe 的程序目录存储到 path 环境变量吧。

1. 点击 零碎变量 下的 新建 ,在弹出 新建零碎变量 窗口后,将变量值设为 JDK 装置门路(bin 目录上一级),变量名设为 JAVA_HOME(之所以叫这名,是因为 Maven、Tomcat 等日后所用开发程序大多会应用到此环境变量),所以名称不容许批改。

2. 上方存储的环境变量还不残缺,并且没增加到 path 环境变量。所以咱们须要在 path 环境变量中再做些解决。

点击零碎变量中的 path 环境变量,而后点击 编辑,删除其中 Oracle 默认生成的一个目录配置(JDK 1.8 之后就开始主动加上了,然而这个地址对咱们用途不大,删掉)。

点击 新增,增加一条 %JAVA_HOME%bin 变量,%JAVA_HOME% 示意援用 JAVA_HOME 环境变量的值,这一条变量等价于在 path 中增加了 D:DevelopJavajdk1.8.0_202bin

查老师有话说: Win7零碎的 path 环境变量是全副在一起的,而不是像 Win10 这样一条条很清晰。本人去新退出一条:%JAVA_HOME%bin;(结尾这肯定要用英文 ; 来分隔其余的环境变量啊!)。

还有咱们在配置 Java 装置门路的时候,须要分外留神不要将之前的还有一些零碎的 path 配置删除,也不要写错。(不要在蓝色选中状态时间接输出,会全副替换的!!!)否则有很多系统命令就没法在 DOS 中便捷欢快的应用了。

测试成果

配置好 path 环境变量之后,敞开所有的 DOS 窗口。再从新关上 DOS 后,输出 java -version,咱们看到和之前一样的成果,而且咱们不必在输出 java.exe 简短的门路了!

参考文献

[1]闷瓜蛋子. Oracle 如何对 JDK 免费[EB/OL]. https://zhuanlan.zhihu.com/p/64731331. 2019-06-18

后记

JDK 的装置环节也就介绍到这。补充了一些根底内容,比拟杂的感觉,但理论是程序流程的学习,好好看看本篇文章纲要!每个步骤肯定要实际一下!加油!有问题能够邮箱或订阅号分割查老师。

查老师有话说: 对于技术的学习,查老师一贯遵循的步骤是:先用最最简略的 demo 让它跑起来,而后学学它的最最罕用 API 和 配置让本人能用起来,最初纯熟应用的根底上,在闲暇时尝试浏览它的源码让本人可能洞彻它的运行机制,局部问题呈现的起因,同时借鉴这些技术实现来晋升本人的代码高度。

所以在查老师的文章中,后期根本都是小朱文,仅仅交叉很大量的源码钻研。当然等小朱文更新多了,你们还仍然喜爱,前期会不定时专门对局部技术的源码进行解析。

正文完
 0