简介
JDK:Java
Developer´s Kit(java开发工具包)
程序员使用,包括调试工具、运行你编写的JAVA程序和JVM
JRE:Java Runtime Environment(java运行环境),运行你编写的JAVA程序和JVM
JVM:Java Virtual Machine(java虚拟机),运行.class程序
1、JVM -- java virtual
machine
JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可
以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
JVM 是 Java 平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行时操作不同的内存区域。 JVM 通过抽象操作系统和 CPU 结构,提供了一种与平台无关的代码执行方法,即与特殊的实现方法、主机硬件、主机操作系统无关。但是在一些小的方面, JVM 的实现也是互不相同的,比如垃圾回收算法,线程调度算法(可能不同 OS 有不同的实现)。
JVM 的主要工作是解释自己的指令集(即字节码)到 CPU 的指令集或 OS 的系统调用,保护用户免被恶意程序骚扰。 JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。
2、JRE -- java runtime
environment
JRE是指java运行环境。光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目
录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和
lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就
可以运行你写程序了。(jre里有运行.class的java.exe)
JRE 是 Sun 公司发布的一个更大的系统,它里面就有一个 JVM 。 JRE 就与具体的 CPU 结构和操作系统有关,我们从 Sun 下载 JRE 的时候就看到了不同的各种版本。同 JVM 一起组成 JRE 的还有一些 API (如 awt , swing 等)。 JRE 是运行 Java 程序必不可少的。
JRE ( Java Runtime Environment
),是运行 Java
程序必不可少的(除非用其他一些编译环境编译成.exe可执行文件……),JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮
我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。
JRE里面有一个 JVM , JRE
与具体的 CPU 结构和操作系统有关,我们从 Sun 下载 JRE
的时候就看到了不同的各种版本,,同 JVM 一起组成 JRE 的还有一些 API
(如 awt , swing 等), JRE 是运行
Java 程序必不可少的.
3、JDK -- java development
kit
JDK是java开发工具包,基本上每个学java的人都会先在机器上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有
六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、
jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境
(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。
eclipse、idea等其他IDE有自己的编译器而不是用JDK
bin目录中自带的,所以在安装时你会发现他们只要求你选中jre路径就ok了。
分享到:
相关推荐
在深入探讨JDK、JRE与JVM之间的区别之前,我们首先需要明确这三个概念的基本定义及其各自的作用。对于初学者而言,理解这些核心组件是学习Java编程的基础。 #### 二、JVM(Java虚拟机) Java虚拟机(JVM)是Java...
在Java编程领域,JDK、JRE和JVM这三个概念是至关重要的基础知识点。虽然它们经常被提及,但很多人仍然对它们之间的关系和各自的功能感到困惑。这篇文章将深入探讨这三个概念的区别及其在Java开发和运行环境中的作用...
我们必须明白JDK,JRE和JVM之间的差异.mp4
Java 技术体系的核心组成部分包括 JDK (Java Development Kit),JRE (Java Runtime Environment) 和 JVM (Java Virtual Machine)。理解这三个概念对于Java开发者至关重要。 首先,JDK是Java开发工具包,它是Java...
JDK(java Development Kit):java 的开发和运行环境,包括java 的开发工具和 jre,在程序员的电脑上当然要安装JDK; JRE(Java Runtime Environment):它是Java运行环境,包括,java 运行的所需的类库+JVM(java ...
本文主要讲解JDK、JRE和JVM之间的区别。 一、JDK、JRE、JVM的关系 1. JDK(Java Development Kit):Java开发工具包,是Java开发人员必备的软件,包含了编译器(javac)、JRE、调试器、文档生成工具、打包工具等。...
3.JDK、JRE、JVM的区别 3.1 Java为什么能跨平台,实现一次编写,多处运行? 1.编译器、调试器 JAVA编译器(javac.exe) JAVA编译器的作用是将(.java文件)编译成字节码文件,是最基本的开发工具。编译时首先读入java...
总的来说,JDK、JRE和JVM之间的关系可以总结为:JDK是开发Java程序的全套工具,包含JRE;JRE是运行Java程序所必需的环境,它包括JVM和Java核心类库;而JVM则是负责解释执行Java字节码的虚拟计算机。理解这三个概念...
详解JDK,JRE,JVM.md
Java开发中的JDK、JRE和JVM是三个至关重要的概念,它们构成了Java应用程序的运行基础。理解这三个术语以及它们之间的关系是每个Java开发者必备的知识。 JDK(Java Development Kit)是Java开发工具包,它是Java开发...
【Java面试题】JDK、JRE与JVM的区别
JDK(Java Development Kit)和 JRE(Java Runtime Environment)是 Java 语言的两个核心组件,它们之间存在着一定的关系和区别。下面我们将详细介绍 JDK 和 JRE 的概念、区别和关系。 JDK JDK 是 Java 语言的软件...
一张图看懂JVM、JRE、JDK
通过以上分析,我们可以清晰地认识到JDK与JRE之间的区别及其各自的作用。对于开发者而言,需要安装JDK来进行Java程序的开发和调试;而对于Java程序的最终用户,则只需安装JRE即可运行Java应用。此外,了解JDK和JRE的...
在深入探讨JDK(Java Development Kit)与JRE(Java Runtime Environment)之间的区别之前,我们先来定义一下这两个概念。JDK是Java开发工具包,它包含了编译、运行和调试Java应用程序所需的所有工具;而JRE则是Java...
JDK、JRE和JVM之间的关系可以这样理解:JDK是开发Java程序的工具集,包含JRE;JRE是运行Java程序的环境,包括JVM和其他运行时所需的库;而JVM是JRE的核心部分,负责解释和执行Java字节码。在实际开发过程中,开发者...
通过以上介绍,我们可以清晰地看到JDK、JRE和JVM之间的关系: 1. **JDK** 包含了JRE,并增加了开发工具,如编译器、调试器等,主要用于开发Java应用程序。 2. **JRE** 包含了JVM和核心类库,主要用于运行已编译的...
在给定的压缩包中,我们有"jdk1.8.0_05",这是一个特定版本的JDK,发布于Java 8时代,具体是第5次更新。JDK 8是Java历史上一个非常重要的版本,引入了诸多新特性,极大地提升了开发效率和代码质量。 首先,JDK包含...