1、加锁与释放锁的原理:现象、时机、JVM字节码
1)现象
2)获取和释放锁的时机:内置锁
a.进入到同步代码块时获取,退出时释放;
3)jvm字节码
a.概况:
b.如何反编译
c.Monditorenter和Monditorexit指令
进入:monditor计数器加一,标志线程,别的线程进不来,重入时累加
释放:monditor计数器减一
2、可重入原理:加锁次数
1)JVM负责跟踪对象被加锁的次数
2)线程第一次给对象加锁时,计数变为1。每当相同线程在次对象上再次获得锁时,计数会递增
3)每当任务离开时,计数递减,当计数未0时,锁被完全释放
3、可见性原理:内存模型