几张图轻松搞定JVM

关于JVM是重点之重,掌握jvm便于我们可以更好的掌握java程序的运行流程,以下我将我自己总结的jvm的一些重点通过图的形式展现给大家,以便于可以更好的来理解。

1.JVM内存分布

在上述图中,主要是总结了JVM的四大构成区域:类加载器,运行时数据区域,执行引擎,本地方法库。并通过流的形式展示了我们写的一个.java源文件是如何被jvm所识别和运行的。

其实主要流程就是: 

程序在执行之前,JVM会将源文件通过类加载器加载为class文件,然后将其class文件(二进制)
加载到运行时数据区域,但是class文件只是JVM可以看懂的一套指令集,因此需要执行引擎将其
翻译为底层操作系统可以读懂的指令,在翻译的过程中需要调用本地方法库来辅助操作。

下面我们就将以类加载器,运行时数据区域,执行引擎,本地方法库这四个部分来依次说明其作用

2.类加载器 

在类加载器这一部分主要是将.java源文件加载为.class文件并且加载到运行时数据区相关的工作,与此同时还会有有关类加载的过程以及对象的创建流程和双亲委派机制的一些知识点。

类加载器阶段分为:加载,连接,初始化,使用,销毁五个阶段,其中连接又细分为:验证,准备,解析三阶段。

其中对象的创建流程如下:

3.运行时数据区域

 3.1.栈

3.2.堆

3.3程序计数器

3.4方法区 

4.执行引擎 

5.本地方法库

 最后的总体结构图:

https://excalidraw.com/#json=qNbcXzZ2qAfgCLCYrZl53,6Z2SWhNf7IdPv4cgfIe9Cw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dlwlrma-IU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值