1.对象的hashcode和hashcode()返回的值是否是一回事
应该是一回事,我的理解就是,这个hashcode是在对象无锁的状态下标记的,Java类,在被JVM加载的时候,JVM会给这个类创建一个instanceKlass,保存在方法区,用来在JVM层表示该Java类。当我们在Java代码中,使用new创建一个对象的时候,JVM会创建一个instanceOopDesc对象,这个对象中包含了对象头以及实例数据,这个对象的hashcode返回值应该就是这个时候算出来并存到了对象头中去的,对于没有重写hashcode的对象,返回的和存储的都是一个值,然后如果重写的话,返回的是重新计算后的值,二存储的值不变。
2.对象是怎么进入到偏向锁状态的