JDK 简介
JDK 是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的 java 应用程序。JDK 是整个 java 开发的核心,它包含了 JAVA 的运行环境(JVM+Java系统类库)和 JAVA 工具。
Ubuntu 平台
系统版本:16.04.7(ubuntu-16.04.7-desktop-amd64.iso)
软件版本:1.8.0_221(jdk-8u221-linux-x64.tar.gz (密码: m3eh))【官网最新版】
官方网址:https://www.oracle.com
一、软件简介
工具 |
功能 |
JDK |
开发工具包 |
JRE |
运行环境 |
JVM |
Java 虚拟机 |
● 1.1、JDK 包含 JRE,JRE 包含 JVM。也可以说 JDK 是 JRE+Java 的开发工具。JRE 包含了 JVM+Java 语言的核心类库。JDK 用于开发,是给开发人员用的。JRE 用于运行 java 程序,和 JVM 一起是给普通用户使用的。如果只是运行 Java 程序,可以只安装 JRE,无需安装 JDK。也就是说:使用 JDK 开发完成的 java 程序,交给 JRE 去运行。
● 1.2、OracleJDK 替代版:AdoptOpenJDK,支持平台广泛。可到国内镜像【清华大学开源软件镜像站(tuna)】下载。Oracle 读音 /ˈɔːrəkl/;Adopt 读音 /əˈdɒpt/。
● 1.3、OpenJDK 可能有兼容问题,比如最近我在安装 eclipse 时就遇到了 OpenJDK 不能用的问题,所以最后还是建议安装 oracle jdk。
二、版本说明
● 2.1、JAVA 有 3 个版本:J2SE、J2EE、J2ME,分别面向桌面应用、企业级应用、手机移动领域的应用。(注:JAVA 就是指 JDK 开发工具,所以我们可以理解为 JAVA 等价于 JDK)
● 2.2、关于版本的选择,推荐使用 jdk8(1.8.0),目前企业大多数都用的 jdk8,而且 jdk8 可以说是一个很经典的版本,虽然 oracle 停止维护了 jdk8。另外 JDK9/JDK10 这种非 LTS 还是别花力气了,直接上 JDK11,因为 Java11 是 Java8 后的首个长期支持版本。
● 2.3、JDK 的历史版本(JDK 发行说明):
版本 |
名称 |
发行日期 |
JDK 1.0 |
Oak(橡树) |
1996-01-23 |
JDK 1.1 |
none(无) |
1997-02-19 |
JDK 1.1.4 |
Sparkler(宝石) |
1997-09-12 |
JDK 1.1.5 |
Pumpkin(南瓜) |
1997-12-13 |
JDK 1.1.6 |
Abigail(阿比盖尔–女子名) |
1998-04-24 |
JDK 1.1.7 |
Brutus(布鲁图–古罗马政治家和将军) |
1998-09-28 |
JDK 1.1.8 |
Chelsea(切尔西–城市名) |
1999-04-08 |
J2SE 1.2 |
Playground(运动场) |
1998-12-04 |
J2SE 1.2.1 |
none(无) |
1999-03-30 |
J2SE 1.2.2 |
Cricket(蟋蟀) |
1999-07-08 |
J2SE 1.3 |
Kestrel(美洲红隼) |
2000-05-08 |
J2SE 1.3.1 |
Ladybird(瓢虫) |
2001-05-17 |
J2SE 1.4.0 |
Merlin(灰背隼) |
2002-02-13 |
J2SE 1.4.1 |
grasshopper(蚱蜢) |
2002-09-16 |
J2SE 1.4.2 |
Mantis(螳螂) |
2003-06-26 |
Java SE 5.0 (1.5.0) |
Tiger(老虎) |
2004-09-30 |
Java SE 6.0 (1.6.0) |
Mustang(野马) |
2006-04 |
Java SE 7.0 (1.7.0) |
Dolphin(海豚) |
2011-07-28 |
Java SE 8.0 (1.8.0) |
Spider(蜘蛛) (LTS 长期支持版本) |
2014-03-18 |
Java SE 9.0 |
none(无) |
2017-09-21 |
Java SE 10.0 |
none(无) |
2018-03-21 |
Java SE 11.0 |
none(无) (LTS 长期支持版本) |
2018-09-25 |
Java SE 12.0 |
none(无) |
2019-03 |
Java SE 13.0 |
none(无) |
2019-09 |
Java SE 14.0 |
none(无) |
2020-03 |
Java SE 15.0 |
none(无) |
2020-10 |
Java SE 16.0 |
none(无) |
2021-04 |
Java SE 17.0 |
none(无) (LTS 长期支持版本) |
2021-10 |
Java SE 18.0 |
none(无) |
2022-04 |
三、安装步骤
3.1. 将压缩包解压(如图)
1
2
|
# 解压 jdk 压缩包到 opt 文件夹
sudo tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt
|
3.2. 环境变量配置(如图)
1
2
3
4
5
6
7
8
|
# 执行命令打开文件进行编辑:
sudo gedit /etc/profile
# 在打开的文件末尾添加如下脚本代码:
export JAVA_HOME=/opt/jdk1.8.0_221 #定义变量(路径)
export JRE_HOME=$JAVA_HOME/jre #定义变量(路径)
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH #环境变量:`CLASSPATH`是[javac]编译器专用的一个环境变量
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH #环境变量:普通可执行文件路径
|
扩展知识:环境变量
● 介绍:环境变量主要的目的是告诉系统知道应用程序所在哪个路径下,让系统可直接运行应用程序(如果应用程序已在系统标准位置下,则不需要增加环境变量。linux系统几个标准位置:/bin、/sbin、/usr/bin、/usr/sbin、/usr/local/bin
等)。在安装一些软件(特别是工具链)时,必须要配置环境变量。对于 linux 系统环境变量,主要在两个文件增加环境变量:/etc/profile
和/root/.bashrc
,不过用户主目录上有个~/.bash_profile
文件只对这个用户有效。配置环境变量后,还需要使用命令或重启系统才能生效。(参考网址)
● 语法:export PATH=$PATH:路径1:路径2:…:路径n
● 解析:export
在子 shell 运行应用程序,不写时表示在当前 shell 运行。$PATH
表示增加环境变量,注意不要漏掉。:
为分隔符。$
表示一个变量,如下面代码$JAVA_HOME
代表/opt/jdk1.8.0_221
的变量。
● 注意:与 Windown 系统不同,linux 系统使用冒号分隔,而不是分号。
3.3. 环境变量生效(如图)
1
2
|
# 文件保存退出后执行命令使环境变量即时生效:
source /etc/profile
|
3.4. 查看 jdk 版本(如图)
1
2
|
# 执行命令查看jdk版本信息(能查出版本信息表示安装成功)
java -version
|