首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >几张图轻松搞定JVM

几张图轻松搞定JVM

作者头像
ma布
发布2025-01-20 18:12:47
发布2025-01-20 18:12:47
970
举报
文章被收录于专栏:Java开发Java开发

关于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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.JVM内存分布
  • 2.类加载器
  • 3.运行时数据区域
    • 3.1.栈
    • 3.2.堆
    • 3.3程序计数器
    • 3.4方法区
  • 4.执行引擎
  • 5.本地方法库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档