【JVM】jvm的体系结构

news2024/10/6 14:25:05

JVM体系结构如下图所示:
在这里插入图片描述JVM大致可以分为五大模块:

  1. 类加载子系统(Class Loader SubSystem)
  2. 运行时数据区(Runtime Data Area)
  3. 执行引擎(Execution Engine)
  4. Java本地接口(Java Native Interface 即JNI)
  5. 垃圾回收(Garbage Collection)

下面来个彩色的简图:
在这里插入图片描述运行时数据区(Runtime Area)共分为方法区(Method Area)、(Heap)、(Stack)、本地方法栈(Native Method Stack)和程序计数器(Program Counter Register,有的人也称为PC寄存器,PC Register)。

方法区是一种特殊的,而方法区它们两个也叫线程共享区,Java中产生的垃圾基本上都在这个共享区,所以GC会对此共享区的垃圾进行回收。所以我们通常所说的垃圾回收和JVM性能调优大部分是针对于的。

本地方法栈程序计数器三个组成的区域称为线程私有区域,也叫做线程独占区,此区域基本上不会产生垃圾。

里面是函数执行的地方,程序入口即main函数会首先进入中,main函数在的最底层,每执行一个函数就会把函数压进中,执行完之后就会把函数弹出去。

完结!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/20275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java native关键字 实现

需要用到gcc mingw64: 下载安装MinGW-w64详细步骤(c/c的编译器gcc的windows版,win10真实可用)_jjxcsdn的博客-CSDN博客_mingw-w64 我也是根据上面地址安装的 在d盘创建一个.java文件 编写内容 testInt方法用 native关键字修饰 静态块里需要…

Tauri 打包

1、第一次打包运行命令 npm run tauri build 2、可能会出现下面问题 我们需要在tauri.conf.json里面查找identifier这个名称 原来是com.tauri.dev 随便改下名字,我这里改成build了 3、修改配置后,继续打包又出现问题,如下图 我们就单独去下…

Google Earth Engine(GEE)——join连接在GEE中的应用(同一sentinel-2影像集合)含滑动窗口平滑影像过程

JOIN联接允许您根据一个或多个条件组合不同的集合。 ImageCollection 到 ImageCollection 在数据融合中很有用(从不同的数据集中找到匹配的图像) FeatureCollection 到 ImageCollection 用于数据提取(在多个位置提取图像) FeatureCollection 到 FeatureCollection 在地理处…

公式编辑器Axmath+公式识别器SimpleTex+Markdown编辑器Typora

Ⅰ.公式编辑器Axmath 下载方式: ①百度网盘:https://pan.baidu.com/share/init?surlUWHIHWJHm-mC5q5LUCyEuA 提取码:1r2a ②城通网盘:https://url86.ctfile.com/f/32005086-727935308-6024d8?p5422 访问码:5422 软件…

Cellular/Wifi/Bluetooth频率

Cellular NR频率 3GPP R17定义的NR FR1频段如下表: 图片来自于38.101国内常用FDD频段: n1: 2100MHz~2170MHz,共79MHz带宽 n3: 1805MHz~1880MHz,共75MHz带宽 n5: 869MHz~894MHz,共25MHz带宽 n8: 925MHz~960MHz&…

【Redis-03】Redis数据库的实现原理

在之前的文章我们介绍过,Redis服务器在启动之初,会初始化RedisServer的实例,在这个实例中存在很多重要的属性结构,同理本篇博客中介绍的数据库实现原理也会和其中的某些属性相关,我们继续看一下吧。 1.服务器和客户端…

基于改进萤火虫算法的图像分割的应用(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

可执行文件的装载与进程

进程虚拟地址空间 每个程序被运行起来以后,它将拥有自己独立虚拟空间地址,这个虚拟地址空间的大学由计算机的硬件平台决定,具体地说是由CPU的位数决定。硬件决定了地址空间的最大理论上限,即硬件的寻址空间大小,比如32…

欢迎使用Markdown编辑器

欢迎使用Markdown编辑器欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个…

HTML的常用结构标签(详细)

1.文本标题 &#x1f340; <h1> </h1>~~~<h6> </h6>,从h1到h6字体由大到小 2.段落 &#x1f340; <p> </p> 3.加粗 &#x1f340; <b> </b> 和 <strong> </strong> 4.倾斜 &#x1f340; <i></i&…

[MQ] SpringBoot使用扇型(广播)交换机/主题交换机

✨✨个人主页:沫洺的主页 &#x1f4da;&#x1f4da;系列专栏: &#x1f4d6; JavaWeb专栏&#x1f4d6; JavaSE专栏 &#x1f4d6; Java基础专栏&#x1f4d6;vue3专栏 &#x1f4d6;MyBatis专栏&#x1f4d6;Spring专栏&#x1f4d6;SpringMVC专栏&#x1f4d6;SpringBoot专…

刷式过滤器 不锈钢全自动刷式过滤器

原理概述 当水从进水口进入过滤器滤筒内部&#xff0c;杂质被拦截在过滤筒内壁&#xff0c;过滤后的干净水从出水口流出&#xff0c;当滤筒内壁的杂质越积越多时&#xff0c;自清洗过滤器进出口的压差达到预设值、达到清洗时间或手动预制时&#xff0c;过滤器将开始自清洗过程…

Feng Office 3.7.0.5 - 文件上传

Feng Office 3.7.0.5 - 文件上传 POST /ck_upload_handler.php HTTP/1.1 Host: www.baidu1.com Content-Length: 213 Cache-Control: max-age0 Upgrade-Insecure-Requests: 1 Origin: http://www.baidu1.com Content-Type: multipart/form-data; boundary----WebKitFormBoundar…

Linux基本指令2——时间相关

Linux内核&#xff1a;Centos 7.6 64位 date指令默认的date不适合阅读date 指定格式显示时间&#xff1a; date %Y:%m:%ddate 用法&#xff1a;date [OPTION]... [FORMAT]在显示方面&#xff0c;使用者可以设定欲显示的格式&#xff0c;格式设定为一个加号后接数个标记&#…

AlexNet学习笔记

AlexNet 概述 AlexNet是由2012年ImageNet竞赛参赛者Hinton和他的学生Alex Krizhevsky设计的。 创新点 非线性激活函数ReLU 选取了非线性非饱和的relu函数,ReLU函数的表达式为F(x)max(0&#xff0c;z)。若输入小于0&#xff0c;那么输出为0&#xff1b;若输入大于0&#xff…

内蒙古海天公司企业网的规划与设计

目 录 摘要 I ABSTRACT II 目 录 III 第一章 引 言 - 1 - 第二章 需求分析 - 3 - 2.1 背景分析 - 3 - 2.2 应用需求分析 - 3 - 2.2.1 内蒙古海天公司网的管理策略 - 3 - 2.2.2 网络中服务器简介 - 4 - 2.2.3 操作系统的选择…- 5 - 2.3 安全需求 - 5 - 2.4 网络扩展性需求 - 5 …

JVM 一张图带你了解内存分配过程 搞懂逃逸分析|标量替换|指针碰撞|空闲列表|TLAB

面试题 在栈上分配对象&#xff0c;使用标量替换的目的是什么&#xff1f; 内存分配过程 逃逸分析 如何确定对象是否在栈上进行分配&#xff0c;当然得通过逃逸分析了。 逃逸分析是什么意思呢&#xff1f;我们直接看两段代码 代码1: public Student get(){Student student …

CEAC之《企业信息管理》2

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;微微的猪食小窝 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 微微的猪食小窝 原创 收录于专栏 【CEAC证书】 1在每个文本框、组合框和列表框的属性表中&#xff0c;都可以找到3个属性&#xff0c;分别…

30.nacos做注册中心入门实例(springcloud)

一、新建nacos-client-a 1.因为官方的springboot没有集成nacos的依赖&#xff0c;所以不再使用springboot的官方下载依赖地址 2. 因为我的idea是2019版本&#xff0c;更改了springboot下载路径后&#xff0c;不会自动更新&#xff0c;第一次选中依赖时&#xff0c;仍然时sprin…

回溯算法(回溯搜索法)

回溯是递归的副产品&#xff0c;只要有递归就会有回溯。 回溯算法&#xff0c;不是一个高效的算法&#xff0c;纯暴力算法&#xff0c;实际上是递归算法的一部分&#xff0c;最多再剪枝⼀下。 回溯的本质是穷举&#xff0c;穷举所有可能&#xff0c;然后选出我们想要的答案&a…