• Java基础入门(二)——JDK、JRE与JVM


    初学Java,要对JDK、JRE、JVM层次上有一个初级概念的理解,不能提起来毫无概念啊,造成靓仔语塞的车祸现场。

    何为JDK、JRE、JVM

    首先从英文名称上来理解一哈:

    JDK(Java development Kit):Java开发工具包。JDK是整个Java开发的核心,是用于开发Java应用程序的软件开发工具。包括了Java运行时环境(JRE)、解释器(java.exe)、编译器(javac.exe)、Java归档(jar包——一种软件包文件格式)、文档生成器(javac.exe)等工具和Java基础类库

    JRE(Java Runtime Environment):Java运行时环境。运行Java程序所必须的环境的集合,包括了JVM标准实现及Java基本类库。相对于JVM来说,多出来的是一部分Java类库。

    JVM(Java Virtual Machine):Java虚拟机。整个Java实现跨平台的最核心部分,能够运行Java语言编写的软件程序;它只认识.class为后缀类型的文件,能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。

    JVM有三层含义:

    • JVM规范要求
    • 满足JVM规范要求的一种具体实现(一种计算机程序)
    • 一个JVM实例,在命令提示符下编写Java命令以运行Java类时,都会创建一个JVM实例。

    三者关系

    一层层的嵌套关系:JDK>JRE>JVM

    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

    JDK = JRE + 开发工具(IDEA、Eclipe等IDE(Integrated Development Environment:集成开发环境))

    JRE = JVM + 类库

    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

    JDK与JRE交互过程

    • JDK中的编译器(javac.exe)对代码进行编译——存储在.java文件中的源代码被编译成字节码存储在.class文件中。
    • 此过程发生在JRE中。

    JVM工作方式

    Java程序运行时JVM是JRE的一个实例。它执行的是.class文件,它会将字节码翻译为平台可以执行的机器码。

    Java程序开发过程

    • 使用JDK(调用Java API)编写Java源代码,存储于.java文件中。
    • JDK中的编译器javac.exe将Java源代码编译成为字节码,存储在.class文件中。
    • JRE加载、验证、执行Java字节码。
    • JVM将字节码解释为机器码并映射到CPU指令集或OS(操作系统)的系统调用。

    如果想有更深的理解,可以看看这篇博文:JDK、JRE、JVM三者间的关系

  • 相关阅读:
    React个人学习笔记
    electron 学习笔记
    微信小程序学习笔记
    算法
    17 django中间件
    16 django用户认证组件
    15 django_cookie&session
    14 django_forms
    13 django分页器
    12 django_ajax
  • 原文地址:https://www.cnblogs.com/itjiangpo/p/14181249.html
Copyright © 2020-2023  润新知