欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java环境中的JDK、JVM、JRE详细介绍

程序员文章站 2024-03-09 16:30:06
java环境中的jdk、jvm、jre   近来小看了下android,扑面而来一堆概念jdk、jvm、jre、sdk、ndk、adt。缕了一下,其中jdk、jvm、jr...

java环境中的jdk、jvm、jre

  近来小看了下android,扑面而来一堆概念jdk、jvm、jre、sdk、ndk、adt。缕了一下,其中jdk、jvm、jre是java环境的东西,而sdk、ndk、adt是android开发用到的东西。下面来区别一下jdk、jvm、jre。

小贴士:mac下装完java后,它在哪里呢,见下图

java环境中的JDK、JVM、JRE详细介绍

首先来说一下jdk

  jdk(java development kit) 是 java 语言的软件开发工具包(sdk)。

  jdk是整个java的核心,包括了java运行环境(java runtime envirnment),一堆java工具(javac/java/jdb等)和java基础的类库(即java api )。

  有以下三种版本:

  se(j2se),standard edition,标准版,是我们通常用的一个版本,从jdk 5.0开始,改名为java se。

  ee(j2ee),enterprise edition,企业版,使用这种jdk开发j2ee应用程序,从jdk 5.0开始,改名为java ee。

  me(j2me),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从jdk 5.0开始,改名为java me。

再来谈谈jre

  jre为java runtime environment的简称,java runtime environment(包括java plug-in)是sun的产品,包括两部分:java runtime environment和java plug-in。javaruntimeenvironment(jre)是可以在其上运行、测试和传输应用程序的java平台。它包括java虚拟机(jvm)、java核心类库和支持文件。它不包含开发工具(jdk)--编译器、调试器和其它工具。jre需要辅助软件--java plug-in--以便在浏览器中运行applet。

没有jdk的话,无法编译java程序,但在有jre环境的系统上可以运行程序。所以当你只需要运行java程序或applet,下载并安装jre即可。如果你要自行开发 java软件,请下载jdk。

最后再来了解一下jvm

  jvm即java virtual machine(java虚拟机),jvm是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
java语言的一个非常重要的特点就是与平台的无关性。而使用java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入java语言虚拟机后,java语言在不同平台上运行时不需要重新编译。java语言使用java虚拟机屏蔽了与具体平台相关的信息,使得java语言编译程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是java的能够“一次编译,到处运行”的原因。

  这是三者的关系图:

java环境中的JDK、JVM、JRE详细介绍

  我们开发的实际情况是:我们利用jdk(调用java api)开发了属于我们自己的java程序后,通过jdk中的编译程序(javac)将我们的文本java文件编译成java字节码,在jre上运行这些java字节码,jvm解析这些字节码,映射到cpu指令集或os的系统调用。

jvm(java virtual machine),即java虚拟机

  jvm屏蔽了与具体操作系统平台相关的信息,使java程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。jvm在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。

  jvm是java语言跨平台(这里的“平台”是指不同的操作系统)的基础,要想在不同的操作系统上运行java程序,就需要在不同操作系统上安装对应的jvm。所以,jvm有windows版本、mac版本、linux版本等。

jre(java runtime environment),即java运行环境

  jre包括java虚拟机和java程序所需的核心类库。如果要想运行一个开发好的java程序,只需要在计算机中安装jre即可。

  总结:jre=jvm+java类库

jdk(java development kit),即java开发工具包

  jdk是提供给java开发人员使用的,包含了jre和一些java开发工具,如编译工具(javac.exe)、打包工具(jar.exe)等。所以安装了jdk就不需要再安装jre了。作为java语言的学习者,我们必须安装jdk,没有jdk,我们是没有办法编译和运行java代码的,这也是几乎所有的java入门教程推荐我们安装jdk的原因。

  总结:jdk=jre+java开发工具

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!