Bil*_*son 14 java jvm jvm-hotspot
我从一些文档中读到,Hotspot VM利用名为Oop Maps的数据结构来管理VM中的所有OOP.我的问题是,这个Oop Map数据结构何时生成?在编译时还是运行时?任何有关此问题的进一步详细文件都将受到欢迎.感谢你们.
apa*_*gin 25
OopMap是一种记录对象引用(OOP)位于Java堆栈中的结构.其主要目的是在Java堆栈上查找GC根目录,并在Heap中移动对象时更新引用.
OopMaps有三种:
在GC JVM中遍历所有线程堆栈.每个堆栈都被解析为堆栈帧流.帧可以是解释或编译的,也可以是存根.解释的帧包含有关Java方法和bci(字节码索引)的信息.OopMapCache有助于找到与给定方法和bci相对应的OopMap.通过指令地址查找发现编译帧的方法.