java内存模型知识归纳

Posted 栗子~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java内存模型知识归纳相关的知识,希望对你有一定的参考价值。

文章目录

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


java内存模型知识归纳

01 java 内存模型

栈(私有):负责存放基础类型,boolean、byte、char…,以及对堆中对象的引用;
堆(公有):java堆是和应用程序关系最为密切的内存空间,几乎所有的对象都存放在堆上;
寄存器:帮你计入存档;
方法区(线程公有):常量池,类信息等元数据信息;
方法区-运行常量池:存放常量信息;
元空间/永久代:简单来说,方法区是JVM抽象的规范,而元空间/永久代对该抽象的具体实现;
本地方法栈(准确来说本地的方法的栈):给本地方法专门提供的栈空间(本地方法即其他语言编写交给java程序运行-native关键字描述的就是本地方法);


02 JVM栈的构成

八股文版本标准答案:
栈是线程私有的,栈中最小单位是栈帧,栈帧中包含局部变量表、操作栈、动态链接、返回地址。

栈帧内部结构:
局部变量表:它是一个数组结构,包含【存放基本类型】、【引用类型在堆中的地址】、【方法的返回地址】…
所以当我们说栈中都包含那些值时,一般说的就是局部变量表。

操作数栈:它是一个栈结构,包含【存放计算过程的中间值】、同时作为计算过程中的变量临时的存储空间。

动态链接:一个指向运行时常量池中该栈帧所属方法的引用,即当你调用那个方法,就通过动态链接找到那个方法。

方法出口:记录方法结束后,继续运行下一个栈帧对应的那个方法哪行代码。

以上是关于java内存模型知识归纳的主要内容,如果未能解决你的问题,请参考以下文章

JVM : 5 知识点归纳

Java多线程和并发,JMM(Java内存模型)

Java内存模型知识点小结---《深入理解Java内存模型》(程晓明)读书总结

java并发知识合集(前置知识——java内存模型)

大数据基础篇----jvm的知识点归纳-5个区和垃圾回收机制

A.特定领域知识图谱知识推理方案:知识图谱推理算法综述[四](基于图传播的模型:node2vecGCNGraphsageGeniePath等)算法汇总和应用场景归纳