JDK与JREJVM三者间的关系及JDK的安装部署
Posted 冯君华
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK与JREJVM三者间的关系及JDK的安装部署相关的知识,希望对你有一定的参考价值。
JDK与JRE、JVM三者间的关系及JDK的安装部署
一.JDK与JRE、JVM三者间的关系
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。
JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
①SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
②EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
③ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
金字塔结构 JDK=JRE+JVM+其它 运行Java程序一般都要求用户的电脑安装JRE环境(Java Runtime Environment);没有jre,java程序无法运行;而没有java程序,jre就没有用武之地。
JRE(Java Runtime Environment),是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher(发射器),这些是运行Java程序的必要组件。与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
JVM(java virtual machine),就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
二.JDK的安装部署:
1.一般jdk都是绿色解压安装然后配置好环境变量即可。这里我们是安装的jdk最新的1.8版本的,首先我们先在官网下载我们的jdk。
首先我们看系统中我们是否安装过jdk,如果之前安装过了,需要卸载掉。
java -version
显示没有安装。
如果之前安装过了,需要使用安装方法删除:
首先先查找出之前是安装的那个版本:
rpm -qa|grep java
如果是yum安装过的话,需要执行:
yum -y remove 找出的版本号及版本软件。
因为我们的系统中之前没安装过,所以我们继续接着在我们的新系统中安装我们的jdk。
2.上传我们的jdk到服务器,我们下载的是jdk-8u151-linux-x64.tar.gz这个版本,现在我们已经把他上传到我们的39.106.11.3这台服务器:
3.因为jdk是解压绿色安装,其实只需要将解压缩后的命令路径添加到环境变量中即可,如果我们把jdk解压到当前路径下,把当前路径添加到环境变量也可,为了方便及安全管理起见,我们把jdk安装到默认路径下:
首先,我们在/usr/目录下创建java目录
mkdir /usr/java
cd /usr/java
将jdk-8u151-linux-x64.tar.gz拷贝到/usr/java目录下:
cp /opt/source/jdk/jdk-8u151-linux-x64.tar.gz /usr/java/
在/usr/java/目录下解压安装jdk:
tar -xzvf jdk-8u151-linux-x64.tar.gz
得到jdk1.8.0_151目录:
此时我们即可将jdk-8u151-linux-x64.tar.gz这个文件删除掉了,这个源文件以后基本没什么作用了。
切换到jdk1.8.0_151这个目录下:
cd jdk1.8.0_151/
我们即可看到bin目录及其他一些目录:
我们看下bin目录,我们即可看到bin目录下我们常用的一些java命令:
在上一级目录我们也可以看到我们常用的jre目录:
4.将jdk及jre添加到环境变量:
修改/etc/profile文件:
vim /etc/profile
添加入下几行:
#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_151
JRE_HOME=/usr/java/jdk1.8.0_151/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
保存退出。
执行 source /etc/profile 使配置的环境变量生效。
注:另外我们也可以这样安装,即将java安装到/opt/soft/java目录下:
tar -xzvf jdk-8u151-linux-x64.tar.gz
mv jdk1.8.0_151/ /opt/soft/java
cd /opt/soft/java/
ls
配置java系统环境变量:
vim /etc/profile
#set java environment
JAVA_HOME=/opt/soft/java
JRE_HOME=/opt/soft/java/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
保存退出,并执行命令:source /etc/profile
即可安装完成。
5.验证jdk安装是否成功。
java -version
显示版本号即证明java jdk安装成功。
6.此时我们可以将/usr/java/下的之前的jdk源文件删除掉了,这个文件根本没什么作用。
7.这时候我们就可以使用我们的jdk了。
以上是关于JDK与JREJVM三者间的关系及JDK的安装部署的主要内容,如果未能解决你的问题,请参考以下文章