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 使配置的环境变量生效。

5.验证jdk安装是否成功。

java -verison

显示版本号即证明java jdk安装成功。

6.此时我们可以将/usr/java/下的之前的jdk源文件删除掉了,这个文件根本没什么作用。

7.这时候我们就可以使用我们的jdk了。

时间: 2024-11-10 02:21:12

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语言写作的软件程序. 在计算机开发语言的历史中,从来没有哪种语言象Jav

Java学习入门--(1)JDK、JRE、JVM三者间的关系

学习JAVA前必须了解Java跨平台特性,Java 为什么能跨平台,实现一次编写,多处运行?Java 能够跨平台运行的核心在于 JVM(Java虚拟机) .不是 Java 能够跨平台,而是它的 jvm 能够跨平台运行.我们知道,不同的操作系统向上的 API 肯定是不同的,那么如果我们想要写一段代码调用系统的声音设备,就需要针对不同系统的 API 写出不同的代码来完成动作. 而 Java 引入了字节码的概念,jvm 只能认识字节码,并将它们解释到系统的 API 调用.针对不同的系统有不同的 jvm

JDK,JRE,JVM区别与联系

JDK : Java Development ToolKit(Java开发工具包).JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar). 最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK,国内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK

java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)

首先声明,这篇文章是从网上粘贴过来的.原文地址是:http://www.cnblogs.com/wangaohui/archive/2012/11/28/2791999.html.感觉写的很好,所以粘贴过来记录下. 这些日子,在看一些java的东西,由于刚入手,对java不是很了解,结果对java的一些名词没有一个清晰的脉络,现在稍微整理一下 令我纠结的是jdk,sdk,jre,jvm,ide,adt,跨平台性,j2ee,j2se,这些名词弄的我云里雾里的. 首先,什么是SDK呢? Softwa

jdk、jre、jvm三者之间的关系与区别

三者之间存在包含关系 JVM + 核心类库 = JRE JRE + java开发工具(javac.exe/jar.exe) = JDK 什么是JVM? Java Virtual Machine 即Java虚拟机 我们知道Java语言有一个独特的优点就是可以跨平台 像其它语言,比如C,我们要针对不同操作系统windos,mac……各出一套应用程序 而Java则可以做到一个软件在任何的操作系统中都能执行,这就是JVM的功劳. 本来我们编写的Java代码计算机还是不认识的,但是我们在每一个操作系统上都

J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别(转载)

转载地址:http://blog.csdn.net/alspwx/article/details/20799017 一.J2EE.J2SE.J2ME区别 J2EE--全称Java 2 Enterprise Edition,是Java的一种企业版,用于企业级应用开发. J2SE--全称Java 2 Standard Edition,是Java的标准版,用于标准应用开发,也是Java基础版本. J2ME--全称Java 2 Micro Edition,是Java的微型版,用于手机.PDA等嵌入式开发

jdk jre jvm 三者之间关系

JDK JDK是java开发工具包,是Sun公司针对Java开发员的产品. JDK 中包含JRE,在JDK安装的目录下有一个叫jre的目录,里面有两个文件夹,bin/和lib,其中bin就是jvm(java虚拟机),lib中则是jvm工作所需要的类库 意义:JDK是整个JAVA的核心,包括java运行环境jre.一堆的工具.java的基础类库. JRE JRE是java的运行环境,不是开发环境,只是针对使用java程序的用户  JVM JVM 就是java虚拟机.他是整个java实现跨平台的最核

JDK,JRE,JVM的区别与关系

JDK:           Java Develpment Kit java 开发工具JRE:         Java Runtime Environment java运行时环境JVM:        java Virtual Machine java 虚拟机使用人群         jdk 是给开发人员使用的, jre和jvm是给普通用户使用3. 详细介绍JDK:         是java开发工具包,是Sun公司针对java开发人员的产品,jdk中包含jre,在jdk的安装目录下有一个j

连接池、数据源、JNDI三者间的关系及用法

连接池:连接池是由容器(比如Tomcat)提供的,用来管理池中的连接对象.连接池自动分配连接对象并对闲置的连接进行回收.连接池中的连接对象是由数据源(DataSource)创建的.连接池(Connection Pool)用来管理连接(Connection)对象. 数据源:数据源(DataSource)用来连接数据库,创建连接(Connection)对象. java.sql.DataSource接口负责建立与数据库的连接 由Tomcat提供,将连接保存在连接池中. JNDI(Java Naming