什么是SPISPI全称Service Provider Interface。简单理解就是一个不用依赖Spring框架即可简易实现ioc容器的一个技术手段。JDK-SPIJDK 提供了一个java.util.ServiceLoader类用于在指定路径META-INF/services下发现服务。在指定路径下新建名字为接口全名的文件,然后里面配置实现类的全名。public interface J...
CAS是Compare And Swap。它是java.util.concurrent包的基石。我们知道,如果线程直接对volatile变量赋值(原子性操作),也是可以实现线程安全的,但更多情况,我们线程对volatile变量的修改与volatile变量的当前值是有关系的!!,这就需要先对这个volatile变量读,然后再写,这就有了至少两个步骤了,所以这个操作不是原子性的,所以就不能保证线...