L的代码很简单
public class L {
}
public class Synchronized1 {
public static void main(String[] args) {
L l=new L();
// System.out.println(l.toString());
System.out.println(ClassLayout.parseInstance(l).toPrintable());
}
}
取消注释,再次运行代码会导致不同的结果,或者两个完全不同的结果。我想知道这个结果的原因是什么?不仅调用 toString() 会影响结果,而且在对象上调用其他方法也会影响结果,例如 hashCode()