JDK, JRE 和JVM是Java编程语言的核心概念。尽管它们看起来差不多,作为程序员我们也不怎么关心这些概念,但是它们是不同的针对特定目的的产品。这是一道常见的java面试题,而本文则会一一解释这些概念并给出它们之间的区别。
Java 开发工具包 (JDK)
Java开发工具包是Java环境的核心组件,并提供编译、调试和运行一个Java程序所需的所有工具,可执行文件和二进制文件。JDK是一个平台特定的软件,有针对Windows,Mac和Unix系统的不同的安装包。可以说JDK是JRE的超集,它包含了JRE的Java编译器,调试器和核心类。目前JDK的版本号是1.7,也被称为Java 7。
Java虚拟机(JVM)
JVM是Java编程语言的核心。当我们运行一个程序时,JVM负责将字节码转换为特定机器代码。JVM也是平台特定的,并提供核心的Java方法,例如内存管理、垃圾回收和安全机制等。JVM 是可定制化的,我们可以通过Java 选项(java options)定制它,比如配置JVM 内存的上下界。JVM之所以被称为虚拟的是因为它提供了一个不依赖于底层操作系统和机器硬件的接口。这种独立于硬件和操作系统的特性正是Java程序可以一次编写多处执行的原因。
Java运行时环境(JRE)
JRE是JVM的实施实现,它提供了运行Java程序的平台。JRE包含了JVM、Java二进制文件和其它成功执行程序的类文件。JRE不包含任何像Java编译器、调试器之类的开发工具。如果你只是想要执行Java程序,你只需安装JRE即可,没有安装JDK的必要。
JDK, JRE 和JVM的区别
- JDK是用于开发的而JRE是用于运行Java程序的。
- JDK和JRE都包含了JVM,从而使得我们可以运行Java程序。
- JVM是Java编程语言的核心并且具有平台独立性。
即时编译器(JIT)
有时我们会听到JIT这个概念,并说它是JVM的一部分,这让我们很困惑。JIT是JVM的一部分,它可以在同一时间编译类似的字节码来优化将字节码转换为机器特定语言的过程相似的字节码,从而将优化字节码转换为机器特定语言的过程,这样减少转换过程所需要花费的时间。
原文链接:
Journaldev 翻译: ImportNew.com
- 顾星竹
译文链接: http://www.importnew.com/7021.html
分享到:
相关推荐
网上摘录总结的关于jdk、jre、jvm的区别
Java中JDKJRE和JVM解析.doc
理解JDK、JRE和JVM的区别和联系 了解JDK的主要组件和功能 掌握JRE的组成和使用方法 理解JVM在Java开发和执行中的重要性 阅读建议 在阅读本文之前,建议您具备以下基础知识: 了解Java编程语言的基本语法和特性 熟悉...
JDK,JRE,JVM区别与联系.pdf 学习资料 复习资料 教学资源
我们必须明白JDK,JRE和JVM之间的差异.mp4
详解JDK,JRE,JVM.md
我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译
【Java面试题】JDK、JRE与JVM的区别
本文主要介绍了Java中的JDK、JRE、JVM的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
大数据必学Java基础(九):JDK,JRE,JVM的区别
简示JDK_JRE_JVM的大小关系
JDK(java Development Kit):java 的开发和运行环境,包括java 的开发工具和 jre,在程序员的电脑上当然要安装JDK; JRE(Java Runtime Environment):它是Java运行环境,包括,java 运行的所需的类库+JVM(java ...
3.JDK、JRE、JVM的区别 3.1 Java为什么能跨平台,实现一次编写,多处运行? 1.编译器、调试器 JAVA编译器(javac.exe) JAVA编译器的作用是将(.java文件)编译成字节码文件,是最基本的开发工具。编译时首先读入java...
一张图看懂JVM、JRE、JDK
29.027.JAVA基础教程_Java语言概述-JDK、JRE、JVM的关系(29).rar
jdk开发包请大家合理利用,绝对是正品jdk开发包请大家合理利用,绝对是正品jdk开发包请大家合理利用,绝对是正品jdk开发包请大家合理利用,绝对是正品
学生做的,请见谅
初学JAVA很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解是Java开发工具包,JRE(Java Runtime Enviroment)是Java的运行环境,JVM( java virtual machine)也...
JDK:Java Development Kit(JAVA 开发工具包)除了包含JRE以外还包含了开发java程序所必须的命令工具JDK是 Java 语言的软件
简单的说JDK是用于开发的而JRE是用于运行Java程序的。JDK和JRE都包含了JVM,从而使得我们可以运行Java程序。JVM是Java编程语言的核心并且具有平台独立性。