了解JVM

作者: 心無旁騖丶 | 来源:发表于2021-02-14 19:22 被阅读0次
    • JVM是一种规范
      oracle jvm文档:
      https://docs.oracle.com/javase/specs/index.html
    • JVM和java无关
      任何语言,只要编译成class文件,就可以在jvm上运行。
    • JVM是虚构出来的一台计算机
      有自己的字节码指令集(汇编语言)和内存管理(堆、栈、方法区等)

    java从编译到执行

    image.png
    1. x.java通过javac编译成x.class文件
    2. java类库和x.class文件会被classLoader装载到内存中
    3. 装载完成后会调用字节码解释器或即时编译器进行解释或编译
    4. 最后由执行引擎开始执行

    JDK/JRE/JVM关系

    image.png
    • JRE(Java Runtime Enviroment)
      Java的运行环境。
      面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。
      JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。
      它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。

    • JDK(Java Development Kit)
      Java的开发工具包。
      它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。
      如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运 行Java程序的平台。
      JDK是整个Java的核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库 (rt.jar)。

    相关文章

      网友评论

          本文标题:了解JVM

          本文链接:https://www.haomeiwen.com/subject/vhtuxltx.html