JDK,JRE,JVM之间的区别

  • JDK(Java SE Development Kit):Java 的开发工具包,是整个 Java 的核心。它提供编译、运行 Java 程序所需的各种工具和资源,包括Java运行环境、Java编译器,以及 Java 的各种类库等。
  • JRE(Java Runtime Environment):Java 的运行环境,用于运行 Java 的字节码文件,JRE里面包含了JVM以及JVM运行所需要的类库(runtime class libraries和Java application launcher)。如果只是Java的使用者,则只需要按照JRE即可。开发者则必须安装JDK去对Java程序进行编译、调试等。
  • JVM(Java Virtual Mechinal):Java 虚拟机,属于JRE的一部分,是Java实现跨平台的最核心的部分,负责字节码的运行。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是当使用相同的字节码时,可以生成相同的结果。这个就是Java跨平台的关键。

编写Java代码可以通过任意软件来编写如txt、idea、vscode等。但写出的Java程序想要运行,就得先编译成字节码文件( 后缀为.class文件),那就需要一个编译器,而JDK中就包含编译器 javac,再通过可执行字节码的程序(JVM)去执行生成结果。

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

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

另外,JVM是⽤来执⾏Java字节码的,所以凡是某个代码编译之后是Java字节码,那就都能在JVM上运⾏,⽐如Apache Groovy, Scala and Kotlin 等等。
下面这语言经过编译后生成的均是class文件。
image.png

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值