JVM介绍

一、什么是JVM

1.​

JVM介绍

                             ​

2.软件层机器码翻译

3.内存管理

好处:自动进行管理,不用手动清除

不足:有时候会删掉啊有用的东西

4.为什么有jvm

 

二、运行时数据区

(一).JVM运行时数据区

a.运行时数据区是什么?

举例:喝水到体内由水分子分解成H和O来提供能量

应用:每一个java类运行到JVM后,被打散,从不同的地方拿取需要的东西。

 

JVM介绍

                                           ​

(二).程序计数器

作用:指向当前线程正在执行的字节码指定的地址、行号。

 

JVM介绍

                             ​

(三).虚拟机栈

a.作用

存储当前的线程运行方法所需的数据、指令、返回地址

b..如何存储的?

1.组成

 ​

JVM介绍

                             ​

 

绿色区域是栈帧

运行时每个方法都会压栈。

2.局部变量表

JVM介绍

                                           ​长度为32

存储方式:int、long、float、double、reference、returnType。

                byte、short、char压栈之前,回先转换成int。

3.操纵数栈

作用:是工作区,大多数指令从这里弹出数据,执行运算、然后吧结果压回栈。

访问:压栈和出栈      

4.动态链接

作用:在方法执行的时候解析,解析常量池