JVM内存模型各部分之间的关系

2022/4/7 7:23:33

本文主要是介绍JVM内存模型各部分之间的关系,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

   JVM虚拟机内存模型

 

    堆、栈、本地方法栈、方法区、程序计数器之间的关系

    

 

  

    只要有一个线程开始运行,Java虚拟机就会给他在线程栈挖一块自己专属的内存空间,

    程序计数器是每一个线程都有的,程序开始运行的时候就会挖出一个属于他的空间,程序计数器的作用:记录当前的程序运行到这一个行的地址,当线程被其他的线程抢占cpu之后恢复运行的时候,根据这个记录来继续运行

    对象实际是放在堆区中,而对象在栈的局部变量表存放的是在堆中的地址

    静态变量也是放在堆区中的,方法区存放的也是在堆中的地址

    本地方法栈是存放 jvm底层一些由C或C++语言实现的方法的地方

    

    可达性分析算法:将“GC Roots” 对象作为起点,从这些节点开始向下搜索引用的对象,找到的对象都标记为非垃圾对象,其余的未标记的对象都是垃圾对象。

    GC Roots根节点:线程栈的本地变量,静态变量,本地方法栈的变量等等    

 

 

 

 

 

 

    

 



这篇关于JVM内存模型各部分之间的关系的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程