当前位置:网站首页>JVM内存和垃圾回收-03.运行时数据区概述及线程
JVM内存和垃圾回收-03.运行时数据区概述及线程
2022-08-02 18:40:00 【J___code】
1.概念
- 内存:硬盘和CPU之间的仓库和桥梁,承载着操作系统和应用程序的实时运行
- JVM内存布局:该布局规定了Java在运行时内存申请、分配、管理的策略,保证JVM的高效稳定运行,不同的JVM对于内存的划分方式和管理机制存在差异
- JVM和线程的运行时数据区:JVM定义了若干程序运行时使用到的运行时数据区。一些随着JVM启动而创建(可以理解为启动一个JVM进程),随着JVM退出而销毁;另一些随着线程开始和结束而创建和销毁:
图中灰色部分为单个线程私有的数据区,包括PC寄存器、栈、本地栈;红色为多个线程共享的,包括堆和堆外内存(永久代或元空间、代码缓存)
tips:
- JVM内存布局中元数据区和
JIT
编译产物合成为元空间(JDK8的名称,即方法区)- 垃圾回收主要针对堆区,小部分针对方法区
- 每个JVM只有一个
Runtime
实例(即运行时数据区)
2.线程
- 线程是程序的运行单元,JVM允许一个应用有多个线程并行执行
- 在Hotspot JVM中,每个Java线程都和操作系统的本地线程直接映射(即线程准备执行时,本地线程也会同时创建;线程执行终止后,本地线程也会回收)
- 操作系统负责将所有线程调度到任何一个可用CPU上,一旦线程初始化成功,它就会调用Java线程中的
run
方法
边栏推荐
- 新公链时代的跨链安全性解决方案
- Why young people are snapping up domestic iPhone, because it is much cheaper and more populist
- 研发了 5 年的时序数据库,到底要解决什么问题?
- Mysql基础篇(视图)
- 我靠这套笔记自学,拿下字节50万offer....
- 论文阅读_胶囊网络CapsNet
- 就刚刚,鸿蒙3.0发布了,华为还一口气发布了十一款产品
- From the technical panorama to the actual scene, analyze the evolutionary breakthrough of "narrowband high-definition"
- register和volatile的区别
- 衡量软件产品质量的 14 个指标
猜你喜欢
研发了 5 年的时序数据库,到底要解决什么问题?
NIO之Selector执行流程
selenium安装和环境配置Firefox
What are the useful real-time network traffic monitoring software
备战无人机配送:互联网派To C、技术派To B
就刚刚,鸿蒙3.0发布了,华为还一口气发布了十一款产品
麦聪DaaS平台 3.7.0 Release 正式发布:全面支持国际化
codeforces:E. Add Modulo 10【状态压缩 + 找规律】
动态折线图,制作原来是这么简单
T5: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
随机推荐
为何国内年轻人都抢购iPhone,因为它更实惠也更亲民
如何正确地配置入口文件?
看【C语言】实现简易计算器教程,让小伙伴们为你竖起大拇指
阿里测试8年经验,靠着这份理解,我才得以生存下来
【C语言刷题】牛客网刷题——替换空格
中国科学院院属研究单位
What is the use of IT assets management software
From the technical panorama to the actual scene, analyze the evolutionary breakthrough of "narrowband high-definition"
平稳发展 | 西欧地区手游玩家的数据和洞察
流量分析三—远程登陆
深入理解IO流(第一篇)
论文阅读_胶囊网络CapsNet
Three components of NIO foundation
T31开发笔记:metaipc测试
How to build a quasi-real-time data warehouse?
Open Source Summer | [Cloud Native] DevOps (5): Integrating Harbor
小姐姐面试蚂蚁金服被虐经历,心疼...
【动态规划专项训练】基础篇
元旦快乐(2022)
实例034:调用函数