为了提高系统的资源利用率,促使了进程,线程的出现。进程和线程提高了系统CPU利用率的同时,又引出了一些其他的问题。这里仅讨论线程安全性的问题,因...
为什么需要线程池 在生产环境中,为每个任务都分配一个线程,这种方法存在一些缺陷,尤其是当需要创建大量的线程时:线程生命周期开销非常高:线程的创建...
AbstractQueuedSynchronizer类(简称AQS)依赖于内部的FIFO队列,提供了一个可以实现阻塞锁和同步机制的框架。依赖于A...
Mybatis中使用XML文件的地方主要有两个1、mybatis的配置文件;2、mybatis的各个mapper文件; mybatis配置文件解...
Mapper代理类的生成过程 在MyBatis中我们是通过SqlSession.getMapper(SomeInstance.class)方法获...
背景介绍 项目中有使用到com.github.dreamroute excel-helper这个工具来辅助Excel文件的解析,出错时的代码是这...
MDC是SLF4J中的一个类,通过MDC我们可以很方便的实现同一个线程内(包括父线程和子线程之间)的日志的追踪。对于Web项目来讲,在MDC的帮...
代理模式算是我们平时项目中接触的比较多的一种模式,最常见的包括:Spring AOP,RPC框架,Mybatis中插件实现方式,JDK中Prox...
Spring框架中也实现了类似EventBus中的事件监听方法。Spring中的很多功能都有赖于此实现,让我们一起来学习一下。 基于Applic...