java.lang.Object 中的 'shadow$_klass_' 和 'shadow$_monitor_' 变量是什么?
2022-08-31 16:29:23
在最新的 Android 更新 (SDK 21) 中,似乎添加了两个新变量:java.lang.Object
private transient Class<?> shadow$_klass_;
private transient int shadow$_monitor_;
我注意到它被简要地用于:shadow$_monitor_
hashCode()
public int hashCode() {
int lockWord = shadow$_monitor_;
final int lockWordMask = 0xC0000000; // Top 2 bits.
final int lockWordStateHash = 0x80000000; // Top 2 bits are value 2 (kStateHash).
if ((lockWord & lockWordMask) == lockWordStateHash) {
return lockWord & ~lockWordMask;
}
return System.identityHashCode(this);
}
但除此之外,没有提及它们。它们是否与ART中的GC有某种关系?还是某种原生的东西?