`
android2116
  • 浏览: 14410 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

也谈JVM、JRE、JDK之间不得不说的关系

阅读更多
  • JVM — java virtual machine

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。

Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。【引自百度百科】

 

  • JRE — Java Runtime Environment

JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。它包括Java虚拟机、Java核心类库和支持文件。它不包含开发工具--编译器、调试器和其它工具。JRE需要辅助软件--Java Plug-in--以便在浏览器中运行applet。【引自百度百科】

 

  • JDK — Java Development Kit

JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。【引自百度百科】

 

总结:JVM是一个与操作系统没有关系的虚拟机,来执行.class文件,但是只有JVM是不能完全执行.class文件。为了能够在不同的操作系统(比如:windows,Linux,ios等)上运行,需要有相应的bin和lib的支持,这样JRE就出现了,它包含了JVM,和具体的操作系统相关,所以我们在下载JRE的时候就会关注针对不同操作系统不同的版本。既然可以运行程序了,作为程序猿就要写相应的JAVA程序,并进行编译,为了方便程序猿,这样JDK就出现了,它包含了JVM和JRE,其中比较重要的lib文件夹中就是为程序提供了一些类库,bin文件夹提供了将.java文件编译为.class文件等功能。见下图来加深理解。



 

  • 大小: 30 KB
0
5
分享到:
评论
2 楼 lvwenwen 2013-04-25  
JVM、JRE、JDK之间不得不说的关系
1 楼 lvwenwen 2013-04-25  
事业成功的30个职业习惯 善用工作之外的时间

相关推荐

    jdk、jre、jvm的区别

    JDK包含了JRE,也就是说,如果你安装了JDK,你就同时拥有了运行Java程序的能力(通过JRE)以及开发Java程序的能力(通过JDK提供的各种工具)。通常情况下,开发人员会安装JDK,而仅需要运行Java程序的用户则只需要...

    一张图看懂JVM、JRE、JDK

    一张图看懂JVM、JRE、JDK

    jdk与jre的区别

    JDK 与 JRE 的区别 JDK(Java Development Kit)和 JRE(Java Runtime Environment)是 Java 语言的两个核心组件,它们之间存在着一定的关系和区别...了解 JDK 和 JRE 的区别和关系对于 Java 开发者来说是非常重要的。

    linux jdk1.7 64位 jre jdk

    总的来说,Linux JDK 1.7 64位版本的JRE和JDK对于Linux环境下的Java开发者和系统管理员来说,是进行Java应用程序开发、运行和维护不可或缺的工具,它提供了丰富的功能和优化,有助于提升开发效率和系统的稳定运行。

    Java零基础 - JDK JRE JVM三者关系.md

    通过以上介绍,我们可以清晰地看到JDK、JRE和JVM之间的关系: 1. **JDK** 包含了JRE,并增加了开发工具,如编译器、调试器等,主要用于开发Java应用程序。 2. **JRE** 包含了JVM和核心类库,主要用于运行已编译的...

    jdk开发包,里面包含jre和jvm的详细资源

    Java开发工具包(Java Development Kit,简称JDK)是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有工具。在给定的压缩包中,我们有"jdk1.8.0_05",这是一个特定版本的JDK,发布...

    JRE与JDK的区别

    总结来说,JRE是运行Java程序的基础,而JDK则是开发Java应用程序的完整工具集,包括了运行Java所需的一切以及开发工具。在实际使用中,根据开发和运行的具体需求,选择合适的组件是至关重要的。对于开发者而言,通常...

    JDK JRE与JVM1

    Java 技术体系的核心组成部分包括 JDK (Java Development Kit),JRE (Java Runtime Environment) 和 JVM (Java Virtual Machine)。理解这三个概念对于Java开发者至关重要。 首先,JDK是Java开发工具包,它是Java...

    【Java基础】JDK、JRE、JVM之间的关系

    3.JDK、JRE、JVM的区别 3.1 Java为什么能跨平台,实现一次编写,多处运行? 1.编译器、调试器 JAVA编译器(javac.exe) JAVA编译器的作用是将(.java文件)编译成字节码文件,是最基本的开发工具。编译时首先读入java...

    JDK_JRE_JVM关系简示图.png

    简示JDK_JRE_JVM的大小关系

    Java中的数据类型及JDK, JRE, 和 JVM解释及关系.zip

    JDK、JRE和JVM之间的关系可以这样理解:JDK是开发Java程序的工具集,包含JRE;JRE是运行Java程序的环境,包括JVM和其他运行时所需的库;而JVM是JRE的核心部分,负责解释和执行Java字节码。在实际开发过程中,开发者...

    openjdk8u60+jvm jdk源码+jvm源码

    JDK 是开发和运行 Java 应用程序所需的一组工具和库的集合,包括 JRE(Java Runtime Environment)和开发工具。 JVM(Java Virtual Machine)是 JDK 的核心组成部分,它负责执行字节码,提供了一个“一次编写,到处...

    详解Java中的JDK、JRE、JVM

    Java开发中的JDK、JRE和JVM是三个至关重要的概念,它们构成了Java应用程序的运行基础。理解这三个术语以及它们之间的关系是每个Java开发者必备的知识。 JDK(Java Development Kit)是Java开发工具包,它是Java开发...

    我们必须明白JDK,JRE和JVM之间的差异.mp4

    我们必须明白JDK,JRE和JVM之间的差异.mp4

    大数据必学Java基础(九):JDK,JRE,JVM的区别

    本文主要讲解JDK、JRE和JVM之间的区别。 一、JDK、JRE、JVM的关系 1. JDK(Java Development Kit):Java开发工具包,是Java开发人员必备的软件,包含了编译器(javac)、JRE、调试器、文档生成工具、打包工具等。...

    JDK、JRE、JVM是什么?

    JDK(java Development Kit):java 的开发和运行环境,包括java 的开发工具和 jre,在程序员的电脑上当然要安装JDK; JRE(Java Runtime Environment):它是Java运行环境,包括,java 运行的所需的类库+JVM(java ...

    jdk1.8.0_171的jre裁剪版本

    JRE裁剪通常会剔除开发者工具、示例代码、本地语言资源包等非必要内容,这样可以减小文件大小,加快下载和安装速度,尤其对于只运行Java应用而不进行开发的用户来说,这是一个理想的选择。然而,需要注意的是,裁剪...

    jdk与jre的区别.

    3. **JVM、JRE和JDK的关系** - **JVM**(Java虚拟机)是JRE的核心部分,负责执行Java字节码。 - **JRE** 包含了JVM以及运行Java程序所需的基本类库和其他资源。 - **JDK** 包含了JRE的所有组件,并增加了用于...

    JDK和JRE文件的区别

    在深入探讨JDK(Java Development Kit)与JRE(Java Runtime Environment)之间的区别之前,我们先来定义一下这两个概念。JDK是Java开发工具包,它包含了编译、运行和调试Java应用程序所需的所有工具;而JRE则是Java...

Global site tag (gtag.js) - Google Analytics