当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-JDK、JRE、JVM之间的区别

金三银四精选java面试题-JDK、JRE、JVM之间的区别

来源:图灵教育
时间:2023-12-10 13:39:53
 

JDKJREJVM之间的区别

  • JDK(Java SE Development Kit),Java标准开发包,它提供了编译运行Java程序所需的各种工具和资源,包括Java编译器Java运行时环境,以及常用的java类
  • JRE( Java Runtime Environment) ,Java运行环境,用于运行Java的字节码文件。JRE中包括了JVM以及JVM工作所需要的类库,普通用户而只需要安装JRE来运行Java程序,而程序开发者必须安装JDK来编译、调试程序。
  • JVM(Java Virtual Machine),Java虚拟机,是JRE的一部分,它是整个java实现跨平台的最核心的部分,负责运行字节码文件。

 

我们写Java代码,用txt就可以写,但是写出来的Java代码,想要运行,需要先编译成字节码,那就需要编译器,而JDK中就包含了编译器javac,编译之后的字节码,想要运行,就需要一个可以执行字节码的程序,这个程序就是JVM(Java虚拟机),专门用来执行Java字节码的。

 

如果我们要开发Java程序,那就需要JDK,因为要编译Java源文件。

如果我们只想运行已经编译好的Java字节码文件,也就是*.class文件,那么就只需要JRE。

JDK中包含了JRE,JRE中包含了JVM。

另外,JVM在执行Java字节码时,需要把字节码解释为机器指令,而不同操作系统的机器指令是有可能不一样的,所以就导致不同操作系统上的JVM是不一样的,所以我们在安装JDK时需要选择操作系统。

另外,JVM是用来执行Java字节码的,所以凡是某个代码编译之后是Java字节码,那就都能在JVM上运行,比如Apache Groovy, Scala and kotlin 等等。