JVM JDK JRE

JVM JDK JRE

JVM:

  • Java是一种平台无关性(一次编译,随处可以运行)的编程语言,而平台无关性的核心在于.class字节码文件,以及Java虚拟机(JVM)。
  • .class字节码文件是平台无关的,其实质是面向JVM的,JVM是通过类加载器加载字节码文件,而不同的操作系统,如Windows,Linux,macOS,则有不同的JVM的实现。

Java编译与解释共存的理解:

在这里插入图片描述

从.class文件到二进制机器码,JVM类加载器首先会加载字节码文件,然后通过解释器逐行解释执行,这种解释执行的速度相对较慢。有些代码块和方法是属于经常被调用的(热点代码),后来引入了JIT,即即时编译器,JIT属于运行时编译。JIT编译器完成第一次编译后,会将编译完成的机器码保存下来,下次直接使用。毋庸置疑,机器码的运行速度是一定高于解释执行的速度的。这也就是Java编译与解释并存。

JDK和JRE

  • JDK 是功能齐全的Java SDK (Software development kit)。它包含JRE,且还有Javac编译器和一些工具,如Javadoc等。它能够创建和编译程序。
  • JRE,完备的java运行时环境,是运行已编译 Java 程序所需的所有内容的集合,包括 Java虚拟机(JVM),Java类库,java命令和其他的一些基础构件。如果只是单纯地跑Java程序,可以只装JRE,就足够了。但,JRE不能编译、创造程序,所以,如果设计程序的开发,JRE则完全不能满足需求。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值