悲观锁是将资源锁住,等一个之前获得锁的线程释放锁之后,下一个线程才可以 访问。而乐观锁采取了一种宽泛的态度,通过某种方式不加锁来处理资源,比如 通过给记录加 version 来获取数据,性能较悲观锁有很大的提高。 CAS 是 compare and swap 的缩写,即我们所说的比较和交换。 cas 是一种基于锁的操作,是乐观锁的一个...
什么是 JavaConfig? Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯 Java 方法。因此它有助于避免使用 XML 配置。使用 JavaConfig 的优点在于:(1)面向对象的配置。由于配置被定义为 JavaConfig 中的类,因此用户可以充分利用 Java 中的面向对象功能。一个配置类可以继承另一个,重写它...
什么要使用多线程?先从总体上来说:从计算机底层来说: 线程可以比作是轻量级的进程,是程序执行的最小单位,线程间的切换和调度的成本远远小于进程。另外,多核 CPU 时代意味着多个线程可以同时运行,这减少了线程上下文切换的开销。从当代互联网发展趋势来说: 现在的系统动不动就要求百万级甚至千万级的并发量,而多线...