01-JVM概述

nobility 发布于 2021-07-04 239 次阅读


JVM概述

JVM(Java Virtual Machine)Java虚拟机,通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统,Java虚拟机是Java程序与平台无关的保障,Java虚拟机本身是与平台相关的

JVM的执行流程

  1. 将字节码通过类加载器加载到Java虚拟机中
  2. Java虚拟机对字节码文件进行校验,同时加载一些Java类库用于提供基本功能
  3. Java解释器和Java即时编译器对字节码进行解释执行,以及和其他功能组件共同形成运行期系统(内存分配、字节码执行引擎、垃圾回收、高效并发处理、与真实机进行交互)

JVM的主要功能

  • 通过ClassLoader寻找和装在class文件
  • 解释字节码成为指令并执行,提供class文件的运行环境
  • 进行运行期间的内存分配和垃圾回收
  • 提供与硬件的交互平台

JVM规范

JVM规范为不同硬件平台提供了一种编译Java代码的技术规范,该规范使得Java程序独立于平台,因为编译是正对JVM的,所以Java虚拟机是Java程序与平台无关的保障,甚至若只要是能生成规范的字节码文件就可以是非Java语言的程序运行在JVM上,比如jPython、jRuby,也可以直接操作字节码文件,比如ASM

JVM规范主要有以下内容:

  • 字节码指令集(类似汇编语言)
  • 字节码文件格式
  • 数据类型和值
  • 运行时数据区
  • 栈帧
  • 类库
  • 异常处理
  • 虚拟机的启动、加载、连接和初始化等
此作者没有提供个人介绍
最后更新于 2021-07-04