0%

JVM

1. JVM与Java体系结构

image-20231103173059181

image-20231103173525870

image-20231103174101458

image-20231103175519266

image-20231103175721844

1.1Java虚拟机

字节码

1.任何能在jvm平台上执行的字节码格式都是一样的,称为jvm字节码

2.不同的编译器,可以编译出相同的字节码文件,字节码文件也可以在不同的JVM上运行

3.Java虚拟机与Java语言并没有必然的联系,它只与特定的二进制文件——Class文件格式所关联,Class文件中包含了Java虚拟机指令集(或称为字节码、Bytecodes)和符号表,还有其他辅助信息

虚拟机

1.所谓虚拟机(Virtual Machine),就是一台虚拟的计算机。他是一款软件,用来执行一系列不腻计算机指令。大体上,虚拟机可以分为系统虚拟机程序虚拟机。Visual Box、VMware属于系统虚拟机,完全是对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台;程序虚拟机就是Java虚拟机,它专门为执行单个计算机程序而设计

2.无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制与虚拟机提供的自愿者中

作用

1.Java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行。每一条Java指令,Java虚拟机规范中都有详细的定义,如怎么取操作数,怎么处理操作数,处理结果放在哪里。

特点

1.一次编译,到处运行

2.自动内存管理

3.自动垃圾回收功能

1.2JVM位置

image-20231105223414697

JVM是运行在操作系统之上的,它与硬件没有直接的交互。

image-20231105223614555

1.3Google的Android系统结构

image-20231105223734847

1.4JVM整体结构

image-20231105223857089

1.HotSpot VM是目前市面上高性能虚拟机的代表作之一

2.它采用解释器与即时编译器并存的架构

1.5Java代码的执行流程

image-20231105224512300

image-20231105224745162

image-20231105224907157