明石
明石
浏览器里有cookie 但是服务端收到的request里没有cookie 这个有谁遇到过吗 应该朝哪方面考虑?
看了半天越来越搞不懂幻读的定义了.......
``` java // 修改第一个Lock Record为无锁状态,然后将obj的mark word设置为指向该Lock Record的指针 highest_lock->set_displaced_header(unbiased_prototype); obj->release_set_mark(markOopDesc::encode(highest_lock)); ``` 当线程 A 正在执行同步代码块时,线程 B 尝试获取锁失败,由 JVM 线程来执行锁撤销流程时,这里为什么是设置为无锁状态(看源码是设置最后 1 位为 1)?难道不应该是直接设置为轻量级锁的状态吗?这里我理解不是已经把连锁对象指向 lock record 的指针都设置好了的吗?
> ```java > // 修改第一个Lock Record为无锁状态,然后将obj的mark word设置为指向该Lock Record的指针 > highest_lock->set_displaced_header(unbiased_prototype); > obj->release_set_mark(markOopDesc::encode(highest_lock)); > ``` > > 当线程 A 正在执行同步代码块时,线程 B 尝试获取锁失败,由 JVM 线程来执行锁撤销流程时,这里为什么是设置为无锁状态(看源码是设置最后 1 位为 1)?难道不应该是直接设置为轻量级锁的状态吗?这里我理解不是已经把连锁对象指向 lock record 的指针都设置好了的吗? 看了一下概论的图,轻量级锁指向的...
> > 线程 T2 是轻量锁并且正在执行, T3 执行会尝试获取锁, 那么是由 T3 升级锁, 还是 T2 来升级锁呢? > > T3来升级,会将锁的_owner设置为T2,这样就不会影响T2使用锁 感谢大佬解答!