Java synchronized 底层原理:字节码、对象头与锁升级 | 极客日志