一、JDK介绍
JDK全称为Java Development Kit,顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包。
JDK:Java Development Kit 是Java的标准开发工具包(普通用户只需要安装 JRE来运行 Java 程序。而程序开发者必须安装JDK来编译、调试程序)。它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境JRE,以及常用的Java基础类库等,是整个JAVA的核心。
JDK一般有三种版本:
SE(J2SE),standard edition,标准版,是我们通常用的一个版本 EE(J2EE),enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序, ME(J2ME),micro edtion,主要用于移动设备、嵌入式设备上的java应用程序 (相对来说现在使用的很少了)
二、JRE介绍
全称为Java Runtime Environment,顾名思义是java运行时的环境,包含了java虚拟机,java基础类库,是使用java语言编写的程序运行所需要的软件环境。
JRE:Java runtime environment 是运行基于Java语言编写的程序所不可缺少的运行环境,用于解释执行Java的字节码文件。
也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
三、JVM介绍
Java Virtual Machine 是Java的虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。
所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。
四、关系和区别
1、面向人群不同
JDK是提供给程序员使用的。JRE是提供给想运行java程序的用户使用的。
2、重要程度不同
如果你需要编写java程序,需要安装JDK。如果你需要运行java程序,只需要安装JRE就可以了。
3、安装目录不同
JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具(JConsole,Web Services等工具软件),还包含了Java基础的类库(即Java API 包括rt.jar)。
联系:
JDK用于开发,是给开发人员用的,JRE 用于运行java程序,和JVM是给普通用户使用的。如果只是运行Java程序,可以只安装JRE,无序安装JDK。也就是说:使用JDK开发完成的java程序,交给JRE去运行。
JDK包含了JRE,JDK 和 JRE 中都包含 JVM。也可以说JDK是JRE+Java的开发工具。JRE包含了JVM+Java语言的核心类库。
五、JDK安装和配置
5.1 基于CentOS 7 环境的安装和配置
(1)下载安装包;
查询内核版本, 5.4.270-1.el7.elrepo.x86_64,
需要下载对应版本的jdk,如 jdk-8u451-linux-x64.tar.gz
(2)将安装包放到指定的文件夹,如/opt/tools,使用如下命令解压缩:
tar -zxvf jdk-8u381-linux-x64.tar.gz
(3)创建目录
sudo mkdir -p /usr/local/lib/jvm
(3)将解压之后的文件夹移动到目标路径:
mv /opt/tools/jdk1.8.0_411 /usr/local/lib/jvm
(4)配置环境变量,打开bashrc:
vim ~/.bashrc
在文档末尾添加:
export JAVA_HOME=/usr/local/lib/jvm/jdk1.8.0_411
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
保存并退出,使环境变量生效:
source ~/.bashrc
(5)验证,终端输入:java -version
5.2 银河麒麟V10
根据操作系统内核版本下载
Kylin Linux Advanced Server release V10 (Lance) 的内核版本是 4.19.90-52.42.v2207.ky10.aarch64 ,该系统版本是 aarch64(ARM 64位)架构
对应的JDK版本应该是:jdk-8u401-linux-aarch64.tar.gz
(1)配置环境变量,打开文件
sudo vim /etc/profile
添加配置:
export JAVA_HOME=/usr/local/lib/jvm/jdk1.8.0_451
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export JRE_HOME=${JAVA_HOME}/jre
使生效:
source /etc/profile