synchronized锁住对象的到底是什么咧 每个对象都有一个对象头 里面包含了各种锁的状态 其实上锁释放锁的过程就是更改对象头中锁的位置。这个对象头中还有很多额外的信息。 每一个对象都有一个Monitor监视器锁来监视 线程进入Monitor之后就等于获得了锁 通过MonitorEnter和MonitorExit指令释放和上锁