文章分类:Java编程
很多朋友可能跟我一样,已经使用JAVA开发很久了,可是对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都是为了在某些方面得到一些提高,以适应自己的需求,比如IBM的JDK据说运行效率就比SUN的JDK高的多。
但不管怎么说,我们还是需要先把基础的
Sun JDK
掌握好。
JDK有以下三种版本:
J2SE,standard edition,标准版,是我们通常用的一个版本
J2EE,enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序
J2ME,micro edtion,主要用于移动设备、嵌入式设备上的java应用程序
我们常常用
JDK来
代指
Java
API
,
Java
API是
Java
的应用程序接口,其实就是前辈们写好的一些
java
Class
,包括一些重要的语言结构以及基本图形,网络和文件
I/O等等
,我们在自己的程序中,调用前辈们写好的这些Class,来作为我们自己开发的一个基础。当然,现在已经有越来越多的性能更好或者功能更强大的第三方类库供我们使用。
JRE:Java
Runtime
Enviromental(java
运行时环境
)。
也就是我们说的
JAVA
平台,所有的
Java
程序都要在
JRE
下才能运行。包括
JVM
和
JAVA
核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
JVM:Java Virtual
Mechinal(JAVA
虚拟机
)
。JVM是
JRE
的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
JVM
有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
JVM
的主要工作是解释自己的指令集(即字节码)并映射到本地的
CPU
的指令集或
OS
的系统调用。Java语言是跨平台运行的,其实就是
不同的操作系统,使用不同的
JVM
映射规则,让其与操作系统无关,完成了跨平台性
。
JVM
对上层的
Java
源文件是不关心的,它关注的只是由源文件生成的类文件(
class file
)。类文件的组成包括
JVM
指令集,符号表以及一些补助信息。
下图很好的表面了JDK,JRE,JVM三者间的关系:

我们开发的实际情况是:我们利用
JDK
(调用JAVA API)开发了属于我们自己的
JAVA
程序后,通过
JDK
中的编译程序(
javac
)将我们的文本
java文件
编译成
JAVA
字节码,在
JRE
上运行这些
JAVA
字节码,
JVM
解析这些字节码,映射到
CPU
指令集或
OS
的系统调用。
分享到:
相关推荐
### JDK、JRE与JVM的区别详解 #### 一、引言 在深入探讨JDK、JRE与JVM之间的区别之前,我们首先需要明确这三个概念的基本定义及其各自的作用。对于初学者而言,理解这些核心组件是学习Java编程的基础。 #### 二、...
### Java零基础-JDK JRE JVM三者关系详解 #### 一、引言 在Java编程的世界里,JDK(Java Development Kit)、JRE(Java Runtime Environment)和JVM(Java Virtual Machine)这三个核心概念是不可或缺的基础知识。...
JDK 与 JRE 的区别 JDK(Java Development Kit)和 JRE(Java Runtime Environment)是 Java 语言的两个核心组件,它们之间存在着一定的关系和区别。下面我们将详细介绍 JDK 和 JRE 的概念、区别和关系。 JDK JDK...
下面将详细阐述这三个术语的区别与联系。 首先,JDK(Java Development Kit)是Java开发工具包,它是整个Java开发的核心。JDK包含了Java运行环境(JRE)、一系列Java开发工具(如javac编译器、java执行命令、jdb...
一张图看懂JVM、JRE、JDK
Java 技术体系的核心组成部分包括 JDK (Java Development Kit),JRE (Java Runtime Environment) 和 JVM (Java Virtual Machine)。理解这三个概念对于Java开发者至关重要。 首先,JDK是Java开发工具包,它是Java...
Java开发中的JDK、JRE和JVM是三个至关重要的概念,它们构成了Java应用程序的运行基础。理解这三个术语以及它们之间的关系是每个Java开发者必备的知识。 JDK(Java Development Kit)是Java开发工具包,它是Java开发...
### Java中的JDK、JRE与JVM解析 #### 一、引言 在Java编程领域,JDK、JRE和JVM这三个概念是至关重要的基础知识点。虽然它们经常被提及,但很多人仍然对它们之间的关系和各自的功能感到困惑。这篇文章将深入探讨这...
【Java面试题】JDK、JRE与JVM的区别
### JDK与JRE的作用及区别 #### 一、概述 在深入探讨JDK与JRE的具体差异之前,我们首先需要了解这两个概念的基本定义及其在Java开发环境中的地位。 #### 二、JDK(Java Development Kit) JDK是Java开发工具包的...
### JDK与JRE的区别 #### 一、JDK与JRE的基本概念 ##### JDK(Java Development Kit) JDK,即Java开发工具包,是面向开发人员使用的软件开发工具包(SDK)。它包含了编译、调试和运行Java应用程序所需的所有工具...
JDK(java Development Kit):java 的开发和运行环境,包括java 的开发工具和 jre,在程序员的电脑上当然要安装JDK; JRE(Java Runtime Environment):它是Java运行环境,包括,java 运行的所需的类库+JVM(java ...
详解JDK,JRE,JVM.md
本文主要讲解JDK、JRE和JVM之间的区别。 一、JDK、JRE、JVM的关系 1. JDK(Java Development Kit):Java开发工具包,是Java开发人员必备的软件,包含了编译器(javac)、JRE、调试器、文档生成工具、打包工具等。...
简而言之,JDK和JRE是Java生态系统中的两个关键组成部分,它们之间存在着紧密的联系但也有所区别。对于开发者来说,需要安装JDK来进行Java程序的开发;而对于普通用户来说,则只需要安装JRE即可运行Java程序。理解这...