JVM学习笔记(2)—— 运行时数据区概述及线程

news2024/11/25 22:47:58

在上一篇中我们讲了JVM的类加载子系统,现在我们就来到了运行时数据区。而不同版本的JVM对于内存的划分方式和管理机制存在着部分差异(最典型的就是方法区实现的差异),本文针对经典的Hotspot jvm进行讨论,对运行时数据区做一个总体的概述

在这里插入图片描述
一个JVM进程中只有一个Runtime实例,即运行时环境,就相当于运行时数据区。其中
方法区:是线程共享的区域,整个运行时数据区中只有一份。垃圾回收主要针对的区域就是堆空间,其次是方法区
程序计数器、本地方法栈和虚拟机栈:是每个线程都有一份,是各个线程私有的,
在这里插入图片描述

一、JVM内存模型

方法区:存储类信息。
:存储所有对象的区域,是垃圾回收的主要工作区域。

直接内存:非jvm内存的堆外内存,NIO操作时会用到
在这里插入图片描述
程序计数器:存储线程中要执行的下一条指令的地址,如果下一条是本机方法,则pc寄存器中的值将未定义。jvm中唯一不会产生内存溢出的地方。
Java虚拟机栈:当Java中方法执行时,会形成一个栈帧压入栈中,栈帧中包括局部变量表、操作数栈和方法出口等,方法执行完毕则弹出栈。
本地方法栈:和Java虚拟机栈相似,这是调用本地Native方法形成的栈。
在这里插入图片描述

二、JVM中的线程

  • 在Hotspot JVM中,每个线程与操作系统中的线程直接映射。当一个Java线程准备好执行后,此时操作系统的一个本地线程也同时创建。Java线程执行终止后,本地线程也会回收。
  • 操作系统负责将所有线程安排调度到一个可用的CPU上。一旦本地线程初始化成功,它就会调用Java线程的run方法。
  • JVM中的线程分为守护线程和普通线程,当程序中最后一个非守护线程终止后,JVM也会进行终止

JVM的系统线程主要分为以下几种,其中GC线程就是典型的守护线程
在这里插入图片描述

后文将再对JVM内存中的五个区域进行详述

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

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

相关文章

Mongoose应用和文件上传

一、Express框架访问MongoDB数据库 1、目的: ​ (1)mongoose模块的使用 ​ (2)学会代码的封装:dao层、service层、接口层 ​ (3)MVC设计思想:M(Model)、V(View)、C(C…

WEB前端期末大作业——关于酒店主题网站设计——高级酒店公寓网页(4页)

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

如何使用gitee码云?创建库,克隆远程仓库,上传代码,小绿格等问题

目录 前提软件:先安装Git,再安装TortoiseGit(可以在网上找找~默认下一步安装即可) 一、访问网站Gitee - 基于 Git 的代码托管和研发协作平台 二、创建库 二、克隆远程仓库到本地电脑 - 仓库与本地链接 三、上传文件到gitee库里…

【Linux基础知识点】内核、系统调用、Shell、指令集、微架构、硬件架构、用户态、内核态、进程、用户线程、内核线程

参考 Linux内核版本和发行版本Linux架构用户态和内核态的简单理解「建议收藏」CPU、操作系统内核、ARM内核与架构的理解【科普】一文看懂指令集是什么一文搞懂X86架构和ARM架构的区别线程和进程的区别是什么?如何理解内核线程、内核进程? 讲解 知识点详…

Linux 业务突然宕机、系统卡死、磁盘空间爆满,该怎么查?

场景 在服务器运维过程中,我们偶尔会发现业务突然宕机,进去服务器发现异常卡顿查看服务器磁盘空间发现磁盘满载。 如何找到占用空间大的目录或文件? 1、比较笨的方法: 在根目录下,du -hs命令,列出各目录…

Redis缓存问题

目录 1、缓存穿透 2、缓存击穿 3、缓存雪崩 ​​​​​​​4、Redis的并发竞争key问题 ​​​​​​​1、缓存穿透 大量请求缓存中和数据库不存在的数据。 大量用户请求缓存中和数据库中不存在的数据,导致所有请求都落到数据库上,造成数据库短时间内承…

GAMES202 Real-Time Global Illumination

文章目录Lecture 7 Real-time Global Illumination (in 3D)RSM (Reflective Shadow Maps)Lecture 8 Real-time Global Illumination (screen space)LPV (Light Propagation Volumes)VXGI (Voxel Global Illumination)SSAO (Screen Space Ambient Occlusi…

零基础如何入门Web性能测试?

1、目前正在研究jmeter,请问初期做性能,应先从几点做起? Jmeter和LR都是目前性能测试的首选工具,如果你有LR的学习背景,那么Jmeter上手会很快,重点理解线程和进程的概念,流程和LR是类似的。如果…

ISO27001信息安全管理体系具体要求 学习笔记

ISO27001制定背景 ISO27000 从诞生到现在只不过 20 年间的事情,但基本上可以看出一个标准 “源于生活,高于生活”的发展特点,也就是说,一个真正普遍适用并能被普遍接受的标准,必然是能体现相关领域最佳惯例并能为最佳…

这篇文章告诉你视频转音频软件哪个好用,有需自取

大家看过线下的演唱会或livehouse吗?有些歌手会在现场准备一些小彩蛋,例如演唱还未发行的歌,或是歌曲的其它版本,这时候许多歌迷都会纷纷录制下来,以便后续的欣赏观看。 但是每次想听的时候,都得反复的打开…

工业外观设计中色彩如何有效运用

我相信业内很多设计师都在考虑如何在工业产品外观设计中有目的地运用色彩。最近看了一篇关于如何在工业产品中使用色彩的论文,简单地说了一下自己的想法。 一、加工技术应考虑产品外观设计 工业设计师不仅要考虑材料,还要考虑其表面处理及其颜色。因此&a…

抖音变现模式?80%的人都不知道的秘密,三类更适合玩私域的产品

这篇内容关于适合玩私域的三类产品,精简一下让大家可以3分钟看完。不玩悬念,直接上千货。 上一篇在我赢助手小禾呈序上给大家讲了三个变现的建议,以及两种我比较推荐的变现方式。带货和支付费。今天再讲一个主流的变现思路,最后还…

Android Material Design之MaterialButtonToggleGroup(九)

效果图 资源引入 implementation androidx.appcompat:appcompat:1.3.0 implementation com.google.android.material:material:1.4.0属性 属性描述android:id控件Idandroid:layout_width控件长度android:layout_height控件高度app:checkedButton默认选中得按钮idapp:selectio…

物联网毕业设计 单片机家庭气象站设计与实现

文章目录1 简介2 主要器件引脚连接3 实现效果4 部分实现代码1 简介 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越来越高&#x…

揭秘你代理商做不起来货卖不出去的原因,探讨其背后的商业逻辑

现在很多代理商,大都是可以归于“个体户”性质。这些也代表了微小型企业,从前期的蓬勃发展,到现在的经营受限,特别是疫情等影响,很多人的经营都处于举步维艰的状态,如果你们现在是代理商,仓库里…

v-charts,点击页面按钮,不能二次重绘,解决方案

v-charts简介: 是基于 Vue2.0 和 Echarts 封装的图标组件,只需要统一提供一种对前后端都友好的数据格式设置简单的配置项,就可以生成常见的图表。 v-charts官方文档:v-charts echarts官方文档:Documentation - Apach…

8个关于 Promise.then 和 Promise.catch 的面试题,一定要掌握

前面,我们要讨论了 Promise 在异步编程中的执行,错过的朋友可以直接点击《10 个 JavaScript Promise 的面试题》这篇文章进行查看。 在今天的文章中,我们将讨论这些核心 API 用于 Promise 对象的用法。 这里我提供了10个代码片段&#xff0…

SequoiaDB湖仓一体分布式数据库2022.11月刊

本月看点速览 产品能力再获认可,入围多个榜单、报告 ‍精彩亮相2022沙丘大会湖仓一体专场 实力吸睛,获多家权威媒体关注与报道 生态圈不断扩大,与6家合作伙伴完成互认证 青杉计划2023进行中,一起攀登更高的“杉” 产品能力再获…

WPF 3D 摄像机LookDirection属性研究

像前文一样画一个三角形; 摄像机的位置是(-2,2,2); 坐标系是这样的,x、y轴是在屏幕上,X轴正向向右,Y轴正向向上;Z轴是垂直于屏幕,从屏幕出来往人的方向为正向,往屏幕里边去是-Z&…

01-06-Hbase基础定义

Hbase定义: Hbase是一种分布式,可扩展,支持海量数据存储的NoSQL数据库。HBase是一个分布式的、面向列的开源数据库。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。…