JVM内存模型各部分之间的关系
2022/4/7 7:23:33
本文主要是介绍JVM内存模型各部分之间的关系,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JVM虚拟机内存模型
堆、栈、本地方法栈、方法区、程序计数器之间的关系
只要有一个线程开始运行,Java虚拟机就会给他在线程栈挖一块自己专属的内存空间,
程序计数器是每一个线程都有的,程序开始运行的时候就会挖出一个属于他的空间,程序计数器的作用:记录当前的程序运行到这一个行的地址,当线程被其他的线程抢占cpu之后恢复运行的时候,根据这个记录来继续运行
对象实际是放在堆区中,而对象在栈的局部变量表存放的是在堆中的地址
静态变量也是放在堆区中的,方法区存放的也是在堆中的地址
本地方法栈是存放 jvm底层一些由C或C++语言实现的方法的地方
可达性分析算法:将“GC Roots” 对象作为起点,从这些节点开始向下搜索引用的对象,找到的对象都标记为非垃圾对象,其余的未标记的对象都是垃圾对象。
GC Roots根节点:线程栈的本地变量,静态变量,本地方法栈的变量等等
这篇关于JVM内存模型各部分之间的关系的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?