• Java、JRE、JVM之间的关系


     1、JDK(Java Development Kit):Java开发工具包,JDK 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,javap.exe,jar.exe 等。

    2、JRE(Java Runtime Environment):Java运行时环境,它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库。

    3、JVM(Java Virtual Machine):Java虚拟机,它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心。

    Java 能够跨平台运行的核心在于 JVM 。不是 Java 能够跨平台,而是它的 jvm 能够跨平台。我们知道,不同的操作系统向上的 API 肯定是不同的,那么如果我们想要写一段代码调用系统的声音设备,就需要针对不同系统的 API 写出不同的代码来完成动作。

    而 Java 引入了字节码的概念,jvm 只能认识字节码,并将它们解释到系统的 API 调用。针对不同的系统有不同的 jvm 实现,有 Linux 版本的 jvm 实现,也有 Windows 版本的 jvm 实现,但是同一段代码在编译后的字节码是一样的。引用上面的例子,在 Java API 层面,我们调用系统声音设备的代码是唯一的,和系统无关,编译生成的字节码也是唯一的但是同一段字节码,在不同的 jvm 实现上会映射到不同系统的 API 调用,从而实现代码的不加修改即可跨平台运行。

    今日事,今日毕。
  • 相关阅读:
    【SQL基础】三种类别语句
    【安装eclipse, 配置java环境教程】 编写第一个java程序
    【c++错误】类的语法错误 error c2533:constructors not allowed a return type(构造函数不允许返回一个类型)
    【经典算法大全】收集51种经典算法 初学者必备
    【费式搜寻法】
    【插补搜寻法】
    【基数排序(桶排序)】
    【字串核对】
    【老鼠走迷宫二】
    【稀疏矩阵】
  • 原文地址:https://www.cnblogs.com/lcpp/p/13038156.html
Copyright © 2020-2023  润新知