前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDK,JRE,JVM之间的区别

JDK,JRE,JVM之间的区别

作者头像
ImportSource
发布2018-04-03 16:55:02
1.3K0
发布2018-04-03 16:55:02
举报
文章被收录于专栏:ImportSourceImportSourceImportSource

JDK,JRE,JVM之间的区别

JDK, JRE和JVM是java编程语言的核心概念。他们看起来有点相似。作为一个编程者我们似乎也并不是很关心这个概念。但是她们确实是有区别的,并且他们分别基于不同的目的的。本文将会分别解释这三个概念,并且说明他们之间的不同点。

Java Development Kit (JDK)

JDK是java环境的核心组件,它提供了编译、调试、执行一个java program必须要用到的可执行和二进制的所有tool。JDK是一个平台定制软件,这也是我们为什么要把安装版分为 for Windows, Mac and Unix。我们可以认为JDK就是一个jre的超集。因为jdk包含了含有java编译器、debugger以及一些核心类。

JDK是为写代码的人准备的。

Java Virtual Machine(JVM)

而JVM是java编程语言的心脏,the heart。当我们run了一个program,JVM就开始负责把byte code转换成机器特定的code(machine specific code)。

JVM也是平台无关的,并且提供了核心的java功能比如memory管理、gc(垃圾回收)、安全等等。

JVM支持定制化,我们可以使用java的options(参数)来定制化JVM,什么意思呢?就是你可以给JVM设置最小memory和最大memory。 JVM被称为是一种虚拟化技术(virtual),是因为它提供了不依赖于底层的操作系统和硬件设备的接口。它这种不依赖硬件和操作系统的特点使得java program可以“write-once run-anywhere”。

Java Runtime Environment (JRE)

JRE是JVM的实现,JRE提供了platform(平台)来执行java program。JRE由JVM和java binaries以及确保能够成功执行任何program的其他class。记住了,JRE不包含任何和development有关的工具,比如java compiler,debugger等等。也就是jre不是给开发准备的,而是给运行准备的。如果你想要执行java program,你应该要安装JRE,就没必要安装JDK了。

现在你应该明白了。JDK是为开发准备的,然而JRE只是为了run java的program。JDK 和 JRE 都包含JVM,因为它们都需要run 我们的java program。JVM是我们java编程语言的心脏(heart),JVM是平台无关的

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ImportSource 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档