`
祖祖cool
  • 浏览: 52213 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

深入了解JVM 、JRE、JDK三者的联系

阅读更多
深入了解JVM 、JRE、JDK三者的联系

JVM:
JavaVirtualMachine(Java虚拟机)。所谓“虚拟机”顾名思义就是模拟出来的东西。就像是我们在用电脑看电视,但是电脑里并没有像电视机里面一样的硬件支持,但是我们仍然可以从电脑里接受电视台的节目。那是因为我们编写了一个可以模拟电视机硬件工作的软件运行在电脑的平台上面的原因。同样JVM就是模拟了电脑的硬件,它同样有着像CPU一样可以执行代码的功能。它的实现具体有:指令集寄存器组类文件格式栈垃圾收集堆内存区。可以把它理解成是专门用来执行Java程序的一台机器。也就是说JVM提供了Java执行的硬件平台。JVM上执行的代码都存放在.CLASS文件中。JVM只执行字节码文件。

JRE:
JavaRuntimeEnvironment(Java运行环境)。就是可以运行Java程序的地方。就像是我们要在电脑上运行一个视频软件的时候必须在Windos或者是Linux等操作系统上一样。那我们就可以把它看做是一个操作系统。也就是说JRE提供了Java执行的软件平台。在运行Java的过程中除了需要有JVM执行Java代码这个动作外,还需要JavaAPI(ApplicationProgrammingInterface,应用编程接口)说简单的就是“类库”。Java程序在运行中没有这些API是不行的,所以JRE包含JVM。

JDK:
JavaDevelopmentToolKit(Java开发工具包)。我们有了硬件和软件两个平台后就可以做我们自己想做的事情了。JDK就是我们用来做事情的工具,它包括JRE还有其他工具。我们所说版本的不同,也就是说它里面的工具有差异。就像是你不同的工具箱里放着不同的工具一样。举个例子:最常用的一个就是javac,它是把.java的文件翻译成.class文件的工具。然后让JVM来执行.class文件中的字节码。(就像电脑的CPU只认识0或1的道理)
如果一台计算机的需求只是运行Java程序,而不是去编写Java程序的时候,它只需要安装JRE就可以了。现在大家知道JVMJREJDK,这些东西到底是什么了吧。
13
6
分享到:
评论
13 楼 windchill_java 2011-11-27  
呵呵,楼主现在在培训吧?做学习笔记呢
12 楼 bryande 2011-11-27  
楼主不要误人子弟哈。
建议你先看看深入Java虚拟机以后再发表哈。
自己的理解不一定正确哦。
当我们谈及到jvm的时候通常有三种意思:
1、一个虚拟机规范。
2、一个虚拟机的具体实现。
3、一个正在运行的Java虚拟机实例。
11 楼 bili1483 2011-11-26  
bili1483 写道
感觉很形象,写的不错,对这些东西的了解都仅限于字面意思。
话说,它的实现具体有:指令集寄存器组类文件格式栈垃圾收集堆内存区。
这句,一开始还以为作者漏标点了,再读一遍冒失这是一个东西。能够稍微讲解一下不?网上搜这东西搜到的都是这篇文章。- -|||

我说的是我的理解在字面上,不是说作者,作者在我眼中已经是高级玩家了。看了一遍自己连评论都歧义了
10 楼 bili1483 2011-11-26  
感觉很形象,写的不错,对这些东西的了解都仅限于字面意思。
话说,它的实现具体有:指令集寄存器组类文件格式栈垃圾收集堆内存区。
这句,一开始还以为作者漏标点了,再读一遍冒失这是一个东西。能够稍微讲解一下不?网上搜这东西搜到的都是这篇文章。- -|||
9 楼 yang4320 2011-11-26  
讲解得很形象,学习
8 楼 wawa_1988 2011-11-26  
嗯 不错 
7 楼 liushiwanwan 2011-11-25  
简单说明,挺好多的...
6 楼 lookqlp 2011-11-25  
挺好!!!!!!
5 楼 frez890 2011-11-25  
挺形象的
4 楼 fancool 2011-11-25  
写的还是很清晰,但"深入"二字....
3 楼 奇林醉 2011-11-25  
不错啊!解惑了
2 楼 董宗磊 2011-11-25  
顶,比喻的太形象了。
1 楼 Moivre 2011-11-25  
更迷惑了!!

相关推荐

    jdk、jre、jvm的区别

    在深入探讨JDK、JRE与JVM之间的区别之前,我们首先需要明确这三个概念的基本定义及其各自的作用。对于初学者而言,理解这些核心组件是学习Java编程的基础。 #### 二、JVM(Java虚拟机) Java虚拟机(JVM)是Java...

    一张图看懂JVM、JRE、JDK

    一张图看懂JVM、JRE、JDK

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

    ### Java零基础-JDK JRE JVM三者关系详解 #### 一、引言 在Java编程的世界里,JDK(Java Development Kit)、JRE(Java Runtime Environment)和JVM(Java Virtual Machine)这三个核心概念是不可或缺的基础知识。...

    linux jdk1.7 64位 jre jdk

    在安装和配置Linux上的JDK 1.7时,通常需要下载对应的二进制文件,然后解压到指定目录(如/usr/lib/jvm),设置环境变量JAVA_HOME、PATH和CLASSPATH。同时,为了确保系统能够正确识别并使用新安装的JDK,还需要更新...

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

    首先,JDK包含了Java运行环境(Java Runtime Environment,JRE),它是执行Java程序所必需的基础。JRE包括Java虚拟机(Java Virtual Machine,JVM)、Java核心类库以及相关的系统配置文件。JVM是Java平台的核心,它...

    openjdk8u60+jvm jdk源码+jvm源码

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

    jdk与jre的区别

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

    JDK JRE与JVM1

    Java 技术体系的核心组成部分包括 JDK (Java Development Kit),JRE (Java Runtime Environment) 和 JVM (Java Virtual Machine)。...理解这三者之间的关系和作用,对于深入学习和掌握Java编程至关重要。

    JRE与JDK的区别

    Java开发和运行环境中,JRE(Java Runtime Environment)与JDK(Java Development Kit)是两个至关重要的组件。它们之间的主要区别在于用途和包含的内容。 JRE是Java运行环境,它是运行Java应用程序所必需的。它...

    简单谈谈JVM、JRE和JDK的区别与联系

    Java开发工具包(JDK)、Java运行环境(JRE)和Java虚拟机(JVM)是Java编程语言的三个核心组件,它们之间有着密切的关系和明确的分工。 JDK(Java Development Kit)是Java语言的软件开发工具包,它是整个Java开发...

    详解Java中的JDK、JRE、JVM

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

    JDK,JRE,JVM区别与联系.pdf

    Java开发中的JDK、JRE和JVM是三个至关重要的概念,它们构成了Java技术的基础框架。下面将详细阐述这三个术语的区别与联系。 首先,JDK(Java Development Kit)是Java开发工具包,它是整个Java开发的核心。JDK包含...

    JDK、JRE、JVM是什么?

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

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

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

    jdk1.8.0_171的jre裁剪版本

    Java开发工具包(Java Development Kit,简称JDK)是Java编程语言的核心组件,它包含了Java运行环境(Java Runtime Environment,JRE)、Java编译器、Java文档和Java各种类库等。`jdk1.8.0_171` 是JDK的一个具体版本...

    jdk与jre的区别.

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

    AIX JDK1.8 JRE1.8 32位

    标题中的"AIX JDK1.8 JRE1.8 32位"指的是IBM的Java开发工具包(JDK)和Java运行环境(JRE)的32位版本,这两个组件都是针对AIX操作系统设计的。AIX,全称Advanced Interactive eXecutive,是IBM推出的一种基于UNIX的...

    jdk和jre的区别

    此外,了解JDK和JRE的内部工作机制也有助于更好地管理和配置Java环境,从而提高程序的稳定性和性能。 总之,JDK与JRE虽紧密相连,但在功能定位上有明显的区别。理解它们的区别有助于更高效地进行Java开发和部署。

Global site tag (gtag.js) - Google Analytics