摘要:
1 前言 这节我们来看看JDK底层的unsafe,因为很多的操作都是依赖于unsafe提供的功能的。 2 unsafe是什么? unsafe是JDK提供的一个工具类,里面的方法大多是native方法,unsafe类是JDK给你提供的一个直接调用操作系统底层功能的一个工具类,unsafe提供了非常多操 阅读全文
摘要:
1 前言 这节我们来看看synchronized是怎么保证原子性、可见性、有序性。 2 原子性 通过前面的篇章我们知道 synchronized 底层实际上通过JVM来实现的,同一时间只能有一个线程去执行synchronized 中的代码块。 原子性:既然同一时间只有一个线程去运行里面的代码,那么这 阅读全文
摘要:
1 前言 这节我们来看看synchronized的锁重入、锁优化、和锁升级的原理。 2 synchronized锁重入 所谓锁重入,就是支持正在持有锁的线程支持再次获取锁,不会出现自己锁死自己的问题。 比如以下的代码: synchronized(this) { synchronized(this){ 阅读全文