在最新的Android更新中(SDK 21),似乎已经向
我注意到在
java.lang.Object
添加了两个新变量:private transient Class<?> shadow$_klass_;
private transient int shadow$_monitor_;
我注意到在
hashCode()
中短暂使用了shadow$_monitor_
: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有关吗?或者是某种本地内容?