JDK、JRE、JVM之间的区别

  * 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 Mechinal),Java虚拟机,是JRE的一部分,它是整个Java实现跨平台最核心的一部分。负责运行字节码文件。

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/weixin_54401017/article/details/127071133