我有一份 JVM 崩溃报告,其中有几行说R13=0x00000007a22ba2fc is an oop
究竟什么是oop?它是一个对象吗?
我有一份 JVM 崩溃报告,其中有几行说R13=0x00000007a22ba2fc is an oop
究竟什么是oop?它是一个对象吗?
简而言之:Java Development Kit官方文档中的普通对象指针。
一个对象指针。具体来说,指向 GC 管理的堆的指针。(这个术语是传统的。一个“o”可能代表“普通”。)作为本机机器地址实现,而不是句柄。Oops 可以由编译或解释的 Java 代码直接操作,因为 GC 知道 oops 在此类代码中的活跃度和位置。(参见 GC 映射。)糟糕的 C/C++ 代码也可以直接操作,但必须由此类代码保存在跨每个安全点的句柄中。