一、加锁和释放锁的原理 现象、时机、深入jvm看字节码 现象:每一个类的实例对应一把锁,每个被Synchronized修饰的方法 都必须首先获得调用该方法的类的实例的锁 方能执行。否则线程阻塞,而这个方法独占了这把锁,直到该方法返回或者抛出异常才能释放。 获取和释放锁的时机:内置锁,线程在进入同步代码块之前会自动获得这个锁,并且在退出这个同步代码块会自动释放。获得这个内置锁的唯一途径就是进入到这个锁 二、可重入原理 加锁次数计数器 三、保证可见性原理 内存模型