栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Oop Maps在Hotspot VM中到底意味着什么

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Oop Maps在Hotspot VM中到底意味着什么

OopMap是一种结构,它记录对象引用(OOP)在Java堆栈上的位置。其主要目的是在Java堆栈中查找GC根目录,并在堆中移动对象时更新引用。

OopMap共有三种:

  1. OopMaps用于 解释方法 。它们是通过分析字节码流来延迟计算的,即发生GC时。最好的参考是源代码(有很多注释),请参见generateOopMap.cpp。InterpreterOopMaps存储在OopMapCache中。
  2. 用于 JIT编译方法的 OopMaps 。它们是在JIT编译期间生成的,并与编译后的代码一起保存,以便VM可以通过指令地址快速找到堆栈位置和保存对象引用的寄存器。
  3. 用于生成 共享运行时存根的 OopMap 。这些映射是由开发人员(这些运行时存根的作者)手动构建的。

在GC期间,JVM遍历所有线程堆栈。每个堆栈都被解析为堆栈帧的流。框架可以解释,编译或存根。解释的帧包含有关Java方法和bci(字节码索引)的信息。OopMapCache帮助查找与给定方法和bci相对应的OopMap。通过指令地址查找发现编译帧的方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/507294.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号