目录

linux JAVA 开发环境 JDK

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 虚拟机

../img/20200802_2_01_01.jpg

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