码农飞升记-05-JDK11安装包的下载安装⽅式以及环境变量的配
前⾯我们介绍了、、以及,相信⼤家已经充分了解了 Java 的概念、OracleJDK 和 OpenJDK 的关系以及如何在众多 OpenJDK builds 中选择适合⾃⼰的 JDK builds,下⾯就以 OracleJDK 11 为例,讲解⼀下 JDK 11 安装包的下载安装⽅式以及环境变量的配置。
其他 JDK 版本的下载安装⽅式以及环境变量的配置:
1.
2.
3.
博主⽤的是 Win10,所以直接⽤ Win10 举例,其他系统的操作⽅法也是⼤同⼩异。
1.下载 JDK 11 安装包
由于⽬前想要在下载都需要⼀个账户,没账户的朋友可以需要去创建⼀个(后续下载的时候会⽤到)。
准备 Oracle 账户
前往,你会看到以下界⾯。
1. 选择单击页⾯顶部的查看账户(View Accounts),在Oracle 账户(Oracle Account)下:
没有账户的朋友点击创建账户(Create an Account),进⼊创建账户页⾯。
有账户的朋友可以直接选择单击登录(Sign-In),进⼊登录页⾯。
因为创建账户会多⼀个步骤,为了更好地演⽰,这⾥博主先选择创建账户。
创建 Oracle 账户
1. 按照表格的提⽰填写好对应的信息。
2. 点击创建账户(Create Account),返回主页界⾯。
登录 Oracle 账户
成功创建账户之后,再进⼊登录页⾯。
1. 输⼊⽤户名。
2. 输⼊密码。
3. 点击登录(Sign in),返回主页界⾯。
成功登录后会⾃动返回主页。
选择 OracleJDK 版本
进⼊ OracleJDK 版本页⾯
单击主页上⽅的产品(Products)。
单击选择软件(Software)下的 Java,进⼊ Java 页⾯。
单击右边的下载 Java(Download Java),进⼊OracleJDK 选择页⾯。
单击中间 Java SE 11 下的 Oracle JDK 下的 JDK Download,进⼊正式下载页⾯。
OracleJDK 11 版本区别
虽然前⾯的章节中有提到,但是以防有新来的朋友不知道,这⾥还是再提⼀下。
Java SE 9 以及之后版本的发布节奏和不同版本的差距
根据 Java Platform Group 产品管理⾼级总监在" "中的描述以及的描述,提炼出我们需要的部分:从 Java SE 9 开始 Java 开启了⼀个新的版本控制和发布节奏模型。
Q1: Surely you can’t expect everyone to adopt major releases every six
months?!
There are no “major releases” per se any more; that is now a legacy term. Instead there is a steady stream of “feature releases.”
This is consistent with how many releases have been done in the past, except with a new take on versioning. For example,
Java 8 launched in March 2014. 8u20, a feature release, was released almost six months later in August. 8u40, the next feature release, was released almost six months after that.
So yes, we expect an uptake of “feature releases” every six months, just as before.
Going from Java 9->10->11 is closer to going from 8->8u20->8u40 than from 7->8->9. It’s scary to see at first when you’re used to major releases about every three years and have a mental model of the huge impact of those major changes. The six-month cadence is not that. Later in the FAQ we’ll provide more specific proof of this.
Q2: If the new releases are basically the long standing six-month cadence,
why rev the major release number each time? Why not just call it 9u20, 9u40, etc.?
By having streamlined some JCP processes, it’s now possible to introduce new class library, JVM and language features such as Local-Variable Type Inference in just six months, instead of having to wait years for a “major release.” Rather than releasing dozens of large changes to the specifications every couple of years, they can be more pragmatically introduced in a steady
stream as soon as they are ready for adoption.
Q5: I’m still not convinced. Java 9 was a challenge to adopt, so that means 10 and 11 will be, too.
Many Java SE developers and user have historically waited for a couple of updates before adopting a new “major version.” This could be expected when there were dozens of major new spec-changing features in a “major” release, but won’t be the case
going forward with six-month releases. This has not been the case since Java SE 9.
For example, the Java SE 9 release incorporated approximately 19,000 source code changes on top of Java SE 8. There were only 2,700 such changes between Java 9 and Java 10 – approximately the same as between Java 8 and Java 8u40. So while Java SE 9 was a “major” upgrade compared to Java SE 8, we have already seen that Java SE 10 is a simple feature update to Java SE 9.
Q7: Ok, but I don’t want new features. I have a system in production and just want stability, performance and security updates only. What do I do?
At Oracle, our intent is to designate releases every three years as “Long Term Support” (LTS) releases starting with Java SE 11 in September 2018. So while Java SE 9 has reached its End of Life with the release of Java 10, and Java 10 will do the same with the release of Java 11, Java 11 will have commercial support from Oracle available for at least eight additional years.
As has happened for almost a decade with Java 6 and Java 7 (and likely Java 8 in 2019), once Oracle stops contributing our
source code changes to a particular release series in OpenJDK, so that we can focus on the needs of our customers, other
qualified contributors in the OpenJDK Community may step in to continue to maintain the release series. They do so in
accordance with OpenJDK Community standards for as long as they choose, backporting the relevant changes from later
releases still maintained by Oracle and others. For example, for JDK 6, Sun established the project in 2008, and Oracle
continued to maintain it until 2013. Other maintainers then continued working on the project by backporting updates from later releases.
Oracle supports such transitions in the OpenJDK Community by providing an established process for them to take place within the JDK Updates Project, as well as assistance to new maintainers to settle in their new roles, and last but not least, the
Vulnerability Group.
Oracle Java SE Product Releases
Oracle provides Customers with Oracle Premier Support on Oracle Java SE products as described in the Oracle Lifetime
Support Policy. For product releases after Java SE 8, Oracle will designate a release, every three years, as a Long-Term-
安装jdk环境变量如何配置Support (LTS) release. Java SE 11 is an LTS release. For the purposes of Oracle Premier Support, non‑LTS releases are
considered a cumulative set of implementation enhancements of the most recent LTS release. Once a new feature release is made available, any previous non‑LTS release will be considered superseded. For example, Java SE 9 was a non‑LTS
release and immediately superseded by Java SE 10 (also non‑LTS), Java SE 10 in turn is immediately superseded by Java SE
11. Java SE 11 however is an LTS release, and therefore Oracle Customers will receive Oracle Premier Support and periodic
update releases, even though Java SE 12 was released.
1.发布的版本区别
LTS版本(Long Term Support,长期⽀持版本),提供⾄少⼋年的商业⽀持(根据市场需要有可能会延长),到期后会被新的 LTS 版本取代。
non-LTS版本(non Long Term Support,⾮长期⽀持版本),提供六个⽉的商业⽀持,到期后会被新发布的版本取代。
2.发布周期
整体发布周期为每六个⽉发布⼀版,其中:
LTS版本:每三年发布⼀版
non-LTS版本:每六个⽉发布⼀版
PS:
当⼆者发布时间冲突时,优先发布LTS版本,non-LTS版本向后推迟⼀个周期。
3.版本的关系
版本内的更新:例如:Java 11 > Java 11.0.1 > Java 11.0.2,⼤多是对⼀些安全漏洞的修复,版本间差距⼏乎没有(除安全漏洞外)。
版本间的更新:例如:Java 9 > Java 10 >Java 11更接近于从 Java 8 > 8u20 > 8u40,每六个⽉发布
⼀次的 non-LTS 版本更像"主要版本"的"功能发布",LTS版本更像是主要版本,⽽non-LTS版本更像是包含上⼀个LTS版本的测试版本,版本间差距较⼤。
2019年4⽉16⽇以及之后发布的 OracleJDK 版本的许可证
2019年4⽉16⽇以及之前发布的 OracleJDK 版本是
2019年4⽉16⽇以及之后发布的 OracleJDK 版本使⽤的是
因为这两个许可证有着巨⼤的区别,根据这两个许可证长篇累牍的描述结合在和两个问题的回答提炼出了⼏个要点。
许可证免费
学习
免费个⼈
使⽤
免费
开发
免费
测试
免费商业
功能
免费商业
使⽤
免费在台式机/笔记
本上使⽤
免费在服务器
上使⽤
免费嵌⼊式设备和其他计算
环境上使⽤
Binary Code
License
✔✔✔✔✘✔✔✔✘
Java SE OTN
License
✔✔✔✔-✘✔✘✘
PS:
商业功能指的是 Oracle JDK ⾃带的 HotSpot VM 的启动参数中是否有 -XX:+UnlockCommercialFeatures,如果有 -
XX:+UnlockCommercialFeatures 就代表启动了商业功能,这个功能默认是关闭状态,需要⼿动开启(在 Java 11 中被废除)。
Java Flight Recorder(JFR) 已经加⼊ Open JDK 11,在 Open JDK 11/bin 下可以直接启动,或者在 HotSpot VM 的启动参数中加上 -XX:StartFlightRecording。
采⽤的 OracleJDK 10 及其之前的版本(包含OracleJDK 8u201/8u202及其以前版本,不包含 OracleJDK 8u211/8u212及其以后版本),个⼈使⽤和商⽤⼏乎是免费的(不使⽤商业功能和嵌⼊式设备的情况下)。
采⽤的 OracleJDK 11 及其之后的版本(包含 OracleJDK 8u211/8u212及其以后版本,不包含 OracleJDK 8u201/8u202及其以前版本),个⼈使⽤免费,商⽤就要购买许可证才可以(虽然可以偷偷商⽤,不过那种操作就跟裸奔过雷区⼀样,你也不知道啥时候会灰飞烟灭,也不知道Oracle 会不会等养肥了再宰。若想使⽤免费商⽤的 Java 11及其之后版本,可以使⽤其他⼚商提供的 OpenJDK builds,参考---)。
选择适合⾃⼰的 OracleJDK 11 版本
选择与⾃⼰的操作系统相匹配的版本,点击下载图标。
1. 在弹出的对话框中勾选接受协议。
2. 点击下载按钮。
如果没有提前登录 Oracle 账户的话,这⾥点击了下载之后会跳转到登录页⾯,然后成功登录 Oracle 账户之后会⾃动开始下载。
如果在⼀开始登录了 Oracle 账户的话,这⾥点击下载,会直接开始下载。
现在等待 OracleJDK 下载完成即可,在等待它下载的期间,可以先继续往下检查环境变量情况。
2.安装 JDK 11 安装包
在正式安装 JDK 之前,要先检查⼀下电脑的环境变量。
检查环境变量 Path 列表
1. 单击开始菜单。
2. 点击设置(Settings),进⼊设置界⾯。
单击系统(System),进⼊系统设置界⾯。
1. 单击关于(About)。
2. 点击⾼级系统设置(Advanced system settings),进⼊⾼级设置页⾯。
1. 点击⾼级(Advanced)。
2. 单击环境变量(Environment Variables),进⼊环境变量界⾯。
双击 Path(单击⼀下 Path 之后单击编辑(Edit)),进⼊ Path 列表。
检查 Path 列表已有的路径中是否有包含 Java 的路径:
如果 Path 列表已有的路径中有包含 Java 的路径,则代表当前计算机曾经配置过 Java,根据 Path 列表中的路径,去到对应⽂件夹:
如果对应⽂件夹内存在 Java 相关⽂件,则代表当前计算机已经配置了 Java 版本(⾃⾏决定是否需要再多安装配置⼀个
Java 版本,或是将以前的 Java 卸载重新安装)。
如果需要再多安装配置⼀个 Java 版本---
如果需要卸载 Java 版本
JDK 安装包版本
1. 在计算机的应⽤程序设置中卸载环境变量 Path 列表已有的路径中有包含 Java 的路径所指的 JDK。
2. 删除环境变量 Path 列表中的该失效路径(环境变量 Path 列表已有的路径中有包含 Java 的路径)。
JDK 压缩包版本
1. 进⼊环境变量 Path 列表已有的路径中有包含 Java 的路径,将该路径下所有⽂件删除。
2. 删除环境变量 Path 列表中的该失效路径(环境变量 Path 列表已有的路径中有包含 Java 的路径)。
如果对应⽂件夹不存在或者⽂件夹内没有 Java 相关⽂件,则代表当前计算机没有配置 Java,但曾经安装/配置过 Java。建
议删除该失效路径(环境变量 Path 列表已有的路径中有包含 Java 的路径):
1. 单击选中该路径
2. 点击右侧的删除(Delete),删除该路径。
如果 Path 列表已有的路径中没有包含 Java 的路径,则代表当前计算机没有配置 Java。
关闭已经打开的这些窗⼝,清空桌⾯(不是移开⽔杯,擦桌⼦之类的哦! )准备安装 OracleJDK。
在检查了环境变量之后,我们要需要了解⼀下 OracleJDK 11 的安装结构。
启动 JDK 11 安装程序
到之前从下载的 OracleJDK。
双击运⾏ OracleJDK 安装包程序(单击选中 OracleJDK 安装包,然后右键打开),进⼊ OracleJDK 安装程序。
OracleJDK 11 安装程序的欢迎界⾯,没什么说的。
直接单击下⼀步(next),进⼊⾃定义设置界⾯。
单击修改(Change),修改 OracleJDK 11 将要安装到的位置,进⼊修改⽂件夹页⾯,不想改也可以默认。
1. 选择 OracleJDK 11 将要安装到的位置,并确认 OracleJDK 11 将要安装到的位置。
2. 单击OK,再次进⼊⾃定义设置界⾯。
1. 再次确定 OracleJDK 11 将要安装到的位置(需要记住,后⾯配置环境时会⽤到)。
2. 单击下⼀步(next),进⼊ OracleJDK 11 安装程序的安装界⾯。
正在安装 OracleJDK 11,此时不需要任何操作,耐⼼等待即可。如果有杀毒软件阻⽌ OracleJDK 安装程序的操作,还请放⾏(阻⽌了的话,指不定以后会出什么奇奇怪怪的问题)。
等待进度条⾛满。
恭喜你,⾄此,OracleJDK 11 安装完成。
点击关闭(Close)即可。
3.JDK 11 安装包环境变量的配置
1.进⼊环境变量设置界⾯
1. 单击开始菜单。
2. 点击设置(Settings),进⼊设置界⾯。
单击系统(System),进⼊系统设置界⾯。
1. 单击关于(About),进⼊关于页⾯。
2. 点击⾼级系统设置(Advanced system settings),进⼊⾼级设置页⾯。
1. 点击选中⾼级(Advanced)。
2. 单击环境变量(Environment Variables),进⼊环境变量界⾯。
双击 Path(单击⼀下 Path 之后单击编辑(Edit)),进⼊ Path 列表。
2.删除环境变量 Path 列表中 OracleJDK 安装程序⾃动配置的路径
进⼊ Path 列表,你会发现 Path 列表和 OracleJDK 11 安装之前检查的环境变量的 Path 列表有所不同。
Path 列表的顶层多出了⼀⾏ Java 的路径(C:\Program Files\Common Files\Oracle\Java\javapath),我们根据这个路径去查看对应位置的⽂件夹,可以发现在这个⽂件夹⾥已经有了 Java 的相关⽂件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。