
源码学习
AaronXym
肖
展开
-
Autowire的实现原理分析,以及Spring如何处理一个Bean的注入
实现自动装配的注解有@Autowire,@Value,@Inject原创 2020-03-22 15:23:02 · 1444 阅读 · 0 评论 -
mybatis随笔
SqlSessionSqlSession提供执行Sql命令,获取Mapper以及事务管理的接口。内部有selectOne,selectList,selectMap,insert,update,commit,rollback,getConnection等方法。selectList作为select操作的最主要的实现,selectOne和selectMap都是通过对selectList的结果进行...原创 2020-03-21 19:16:53 · 279 阅读 · 0 评论 -
SpringMVC处理流程
doDispatch()getHandler()遍历已经注册的handlerMapping,调用mapping的getHandler方法getHandlerInternal,AbstactHandlerMethodMapping::getHandlerInternal()获取HandlerMethod。然后调用getHandlerExecutionChain()获取HandlerExecut...原创 2020-03-19 22:43:09 · 188 阅读 · 0 评论 -
ThreadLocal原理
ThreadLocal作用ThreadLocal是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,数据存储以后,只有在指定的线程中可以获取到存储的数据,对于其他线程来说则无法取到数据。ThreadLocal源码...原创 2020-03-12 15:12:40 · 218 阅读 · 0 评论 -
Spring 事务管理器的初始化以及Rollback条件
TransactionManager事务管理器接口,内部并没有定义任何方法。这里以数据库为例,所以来分析DataSourceTransactionManagerDataSourceTransactionManagerpublic class DataSourceTransactionManager extends AbstractPlatformTransactionManager impl...原创 2020-03-12 14:49:59 · 1072 阅读 · 0 评论 -
Spring Boot的主要流程,启动,获取Bean,注入Bean,以及SpringMVC中响应的主要流程
Spring Boot 启动SpringApplication的初始化这里先做new SpringApplication(Class<?> ... primarySources) 创建SpringApplicationpublic SpringApplication(ResourceLoader resourceLoader, Class<?>... primar...原创 2020-03-11 11:34:46 · 503 阅读 · 0 评论 -
ThreadPoolExecutor
参数有7个参数corePoolSize 核心线程池大小,默认创建的线程个数maximumPoolSize 线程池最大大小,线程最多创建的个数keepAliveTime 当线程在这段时间内没有任务时,就销毁timeUnit 时间单位blockingQueue 当线程池中任务数量大于maximumPoolSize时,任务加入队列threadFatory 提供线程的创建方式,可以在里面做一...原创 2020-03-02 20:44:28 · 163 阅读 · 0 评论 -
ReentrantLock源码分析
ReentrantLockReentrantLock作为java.util.concurrent.locks中重要的一个锁,是很值得初学者研究的,现在就以一位初学者的视角来看ReentrantLock的主要原理底层数据结构根据类图(IDEA中ALT+SHIFT+CTRL+U)可以看出重入锁是分为FairSync(公平)和NonfairSync(非公平)的。/** Synchronize...原创 2020-02-29 21:33:39 · 225 阅读 · 0 评论 -
AbstractStringBuilder源码探析
AbstractStringBuilder与StringBuilder,StringBuffer的关系由图可以知道AbstractStringBuilder是StringBuilder和StringBuffer的父类。同时在StringBuilder和StringBuffer中许多方法都是调用super也就是ASB中的方法进行。关于StringBuilder和StringBuffer的区别在...原创 2019-08-25 22:32:54 · 169 阅读 · 0 评论