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

详解Java中的JDK、JRE、JVM

程序员文章站 2024-03-08 15:46:52
jdk、jre、jvm jdk包含jre,而jre包含jvm jdk(java development kit)是针对java开发员的产品,是整个java的核心,包括了...

jdk、jre、jvm

jdk包含jre,而jre包含jvm

jdk(java development kit)是针对java开发员的产品,是整个java的核心,包括了java运行环境jre、java工具和java基础类库。java runtime environment(jre)是运行java程序所必须的环境的集合,包含jvm标准实现及java核心类库。jvm是java virtual machine(java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以java语言写作的软件程序。

jdk

  • jdk是java开发工具包,是sun microsystems针对java开发员的产品。
  • jdk中包含jre,在jdk的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和>起来就称为jre。
  • jdk是整个java的核心,包括了java运行环境jre(java runtime envirnment)、一堆java工具(javac/java/jdb等)和java基础的类库(即java api 包括>rt.jar)。

java runtime environment(jre)

  • jre是运行基于java语言编写的程序所不可缺少的运行环境。也是通过它,java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
  • jre中包含了java virtual machine(jvm),runtime class libraries和java application launcher,这些是运行java程序的必要组件。
  • 与jdk不同,jre是java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用java程序的用户。

jvm

  • jvm是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
  • 只有jvm还不能产生class的执行,因为在解释class的时候jvm需要调用解释所需要的类库lib,而jre包含lib类库。在jdk下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。jvm屏蔽了与具体操作系统平台相关的信息,使得java程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!