最新の Android アップデート (SDK 21) では、2 つの新しい変数が に追加されたよう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 と何らかの関係がありますか? それともある種のネイティブのものですか?