为了完成Java源码版本的 synchronized实现,期间经历了太多的通知与折磨,灵光一现到落实到真正的Java源码,还是很不容易的。写代码过程非常爽,但是测试过程蹦出来的bug差点让我放弃,多线程环境下bug变得非常非常隐蔽。原本计划5天写完的,结果硬生生的被bug折磨了4天。造这个轮子的目的很简单,主要是为了解决大家阅读C++版本的synchronized的屏障。并且手写了一套Java版本的Synchronized实现。
第1节:理论知识(上)
第2节:理论知识(下)
第3节:源码测试(上)
第4节:源码测试(下)
第5节:Header,Prototype,Javathread实现
第6节:Vmthread,Vmtask,Vmtaskqueue源码实现
第7节:Safepoint安全点源码实现
第8节:获取偏向锁源码实现
第9节:偏向锁撤销 - 源码实现(1)
第10节:偏向锁撤销 - 源码实现(2)
第11节:偏向锁撤销 - 源码实现(3)
第12节:偏向锁撤销 - 源码实现(4)
第13节:轻量级锁 - 源码实现
第14节:锁膨胀流程 - 源码实现
第15节:Objectmonitorpool - 源码实现(上)
第16节:Objectmonitorpool - 源码实现(下)
第17节:重量级锁 - 源码实现(上)
第18节:重量级锁 - 源码实现(下)