博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDK、JRE与JVM的关系
阅读量:5337 次
发布时间:2019-06-15

本文共 668 字,大约阅读时间需要 2 分钟。

是一门编程语言,同时也是一个运行平台和开发平台。大家进入Java开发领域,一定会经常与JDK、JRE和JVM三个名词打交道。我们梳理一下这三个名词,对整个Java平台也会有更清晰的理解。

  • JDK : Java Development ToolKit
  • JRE:Java Runtime Environment
  • JVM:Java Virtual Machine

简单来说,这三者是逐层包含的关系。来看一个Java官方介绍Java的图:

Java-Concept-Diagram.png

从图中可以看到:

  • JDK在包含JRE之外,提供了开发Java应用的各种工具,比如编译器和调试器。

  • JRE包括JVM和JAVA核心类库和支持文件,是Java的运行平台,所有的Java程序都要在JRE下才能运行。

  • JVM是JRE的一部分,Java虚拟机的主要工作是将Java字节码(通过Java程序编译得到)映射到本地的 CPU 的指令集或 OS(操作系统) 的系统调用。JVM回根据不同的操作系统使用不同的JVM映射规则,从而使得Java平台与操作系统无关,实现了跨平台的特性性。

上面这张图包含了太多元素,我们用一张更加简化的图就能更清晰得看到三者之间的关系:

JDK-JRE-JVM.png

在实际开发过程中,我们首先编写Java代码,然后通过JDK中的编译程序(javac)将Java文件编译成Java字节码(.class文件),JRE加载和验证Java字节码,JVM解释字节码,映射到CPU指令集或OS的系统调用,完成最终的程序功能。

转载于:https://www.cnblogs.com/soyo/p/7890186.html

你可能感兴趣的文章
零散笔记
查看>>
第1章2节《MonkeyRunner源码剖析》概述:边界(原创)
查看>>
JVM相关面试
查看>>
webpack 中版本兼容性问题错误总结
查看>>
python装饰器@property
查看>>
oracle 删除死锁
查看>>
python字符串与文本操作(一)
查看>>
table和div的比较(转)
查看>>
1.几大开发模型区别与联系
查看>>
[原]使用 Microsoft Expression 编写 网页 (javascript) 非常棒
查看>>
intellij Idea 报jdk错误
查看>>
ajax入门(复习)
查看>>
LeetCode:154. 寻找旋转排序数组中的最小值 II
查看>>
magento 安装
查看>>
《结对-HTML贪吃蛇游戏项目-测试过程》
查看>>
Python数据结构与语法
查看>>
UVA 1400 线段树
查看>>
C# ref
查看>>
接口API测试和返回值JSON解析的插件
查看>>
Shiro学习笔记
查看>>