源码分析
wj-1024
【日积跬步】
展开
-
【JUC】HashMap源码JDK1.8与1.7的区别
【JUC】HashMap源码JDK1.8与1.7的区别1、HashMap2、HashMap底层数据结构2.1JDK1.8之前2.2 JDK1.8之后2.3 JDK1.7 VS JDK1.8 比较3、HashMap源码分析3.1 开始扒源码3.1.1 构造方法3.1.2 put方法3.1.3 resize方法3.1.4 treeifyBin()方法3.1.5 get方法3.1.6 remove()方...原创 2020-03-19 16:40:20 · 3137 阅读 · 0 评论 -
【springboot源码】springboot自动配置原理分析
【springboot源码】springboot自动配置源码分析1.测试用例2.springboot自动配置原理分析2.1 @EnableAutoConfiguration 开启自动配置功能注:本文阅读前提,对springboot基本使用有所了解,此外,其他一些源码解读,如果有需要,可以参考:【Spring源码】 后置处理器BeanPostProcessor底层原理分析【spring源码】s...原创 2020-02-15 18:24:11 · 2728 阅读 · 0 评论 -
【mybatis源码】 mybatis底层源码分析
【mybatis源码】 mybatis底层源码分析1.测试用例2.开撸源码2.1 SqlSessionFactory对象的创建与获取2.2 获取SqlSession对象注:其他一些源码解读,如果有需要,可以参考:【Spring源码】 后置处理器BeanPostProcessor底层原理分析【spring源码】spring声明式事务底层源码分析【spring源码】ApplicationLi...原创 2020-01-23 17:26:08 · 1795 阅读 · 0 评论 -
【SpringMVC源码】SpringMVC核心DispatcherServlet底层源码分析
【SpringMVC源码】SpringMVC核心DispatcherServlet底层源码分析1.核心业务流程2.DispatcherServlet底层源码分析3.SpringMVC的九大组件4.总结注:其他一些spring源码解读,如果有需要,可以参考:【Spring源码】 后置处理器BeanPostProcessor底层原理分析【spring源码】spring声明式事务底层源码分析【...原创 2020-01-17 18:01:11 · 15895 阅读 · 2 评论 -
【spring源码】spring IOC容器底层源码分析
【spring源码】AOP底层源码分析1.入口2.spring IOC核心refresh()方法源码分析2.1 prepareRefresh()刷新前的预处理2.2 obtainFreshBeanFactory();获取BeanFactory2.3 prepareBeanFactory(beanFactory);BeanFactory的预准备工作2.4 postProcessBeanFactory...原创 2020-01-12 19:28:01 · 19866 阅读 · 0 评论 -
【spring源码】ApplicationListener事件监听底层原理
【spring源码】spring声明式事务底层源码分析1.测试案例2.源码分析3.@EventListener注解事件监听底层分析注:本文默认大家对spring IOC和AOP都比较熟,不会很赘述一些相关源码,如果有需要,可以参考:【spring源码】AOP底层源码分析【Spring源码】 后置处理器BeanPostProcessor底层原理分析【spring源码】spring声明式事务...原创 2020-01-10 16:24:33 · 3773 阅读 · 0 评论 -
【spring源码】spring声明式事务底层源码分析+spring事务失效场景总结
1.环境搭建依赖jar包<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> ...原创 2020-01-10 12:34:50 · 3100 阅读 · 0 评论 -
【spring源码】AOP底层源码分析
【spring源码】AOP底层源码分析1.测试用例2.AOP流程概述3.AOP源码分析spring的AOP是什么不在赘述,以下内容默认大家会使用AOP,我们今天来扒源码1.测试用例引入必要依赖: <dependencies> <dependency> <groupId>org.springframework&l...原创 2020-01-07 23:55:23 · 19352 阅读 · 0 评论 -
【JUC】 Java中的CAS
1.什么是CAS?CAS:Conmpare And Swap ---- 比较和交换在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。—维基百科2.Java中的CASJava中,在JDK 5之前Java语言是靠synchronized关键字保证同步...原创 2019-12-15 19:15:07 · 2603 阅读 · 0 评论 -
Java集合类ArrayList线程不安全验证和解决
1.ArrayList 线程不安全验证验证Demo:/** * 集合类ArrayList线程不安全验证 * * @author wangjie * @version V1.0 * @date 2019/12/17 */public class ContainerNotSafe { public static void main(String[] args) { ...原创 2019-12-17 14:34:56 · 17035 阅读 · 0 评论 -
【锁】【JUC】可重入锁/AQS队列--ReentrantLock源码分析
1.重入锁/AQS队列之前有写过一篇关于锁的笔记:【锁】公平锁/非公平锁/可重入锁/递归锁/自旋锁/独占锁/共享锁/读写锁里面关于重入锁,特别AQS队列并没有提到,故借学习ReentrantLock源码几下这篇笔记。2. ReentrantLock源码分析2.1 类图今天啰嗦一些,我们一步一步看:idea找到依赖的jdk下面rt.jar里面JUC包里面的ReentrantLock右...原创 2019-12-20 23:29:37 · 2943 阅读 · 0 评论 -
【JUC】CountDownLatch源码分析
1.什么是CountDownLatch之前写了一篇关于JUC包里关于并发编程工具类的笔记,但过后总感觉不太舒服,不通透,所以,这次就想着先把整个CountDownLatch源码撸一遍。至于CountDownLatch是什么,撸代码前,可先看:【JUC】CountDownLatch/CyclicBarrier/Semaphore2.开撸2.1 类图先从类图开始,一步一步看。idea找到...原创 2019-12-21 23:58:01 · 2415 阅读 · 0 评论 -
【锁】读写锁--ReentrantReadWriteLock源码分析
1.什么读写锁–ReentrantReadWriteLock?撸源码前,可先看:【锁】公平锁/非公平锁/可重入锁/递归锁/自旋锁/独占锁/共享锁/读写锁2.开撸2.1 类图先从类图开始,一步一步看。idea找到依赖的jdk下面rt.jar里面JUC包里面的ReentrantReadWriteLock右键如图:打开类图:我们可以看到ReentrantLock里面有一个Sync抽象...原创 2019-12-23 11:04:13 · 2376 阅读 · 0 评论 -
【JUC】Callable底层源码分析
1.线程创建我们创建线程一般有以下几种方式:1,承Thread,重写run方法2,实现Runnable接口,重新run方法3,实现Callable接口并重写call方法。我们今天聊的就是第三种。实现Callable接口并重写call方法,与 Runnable 相比Callable又有些不同:1, Callable 可以在任务结束的时候提供一个返回值,Runnabl...原创 2019-12-25 13:51:48 · 2979 阅读 · 0 评论 -
【JUC】线程池-ThreadPoolExecutor源码解析
1.线程池能做什么?是控制运行的线程的数量处理过程中将任务加入队列,然后在线程创建后启动这些任务如果先生超过了最大数量,超出的数量的线程排队等候等其他线程执行完毕,再从队列中取出任务来执行.简单来说,线程池可以管理线程,进行线程复用和控制最大并发数。2.线程池优点?第一:降低资源消耗.通过重复利用自己创建的线程降低线程创建和销毁造成的消耗.第二: 提高响应速度.当任务到...原创 2019-12-26 18:27:57 · 2511 阅读 · 0 评论 -
【Spring源码】 后置处理器BeanPostProcessor底层原理分析
1.Spring中bean的生命周期今天不聊那么复杂,其实bean的生命周期就这四步:实例化、初始化、使用、销毁2.Spring注解开发指定初始化和销毁的方式大概以下四种方式:2.1 @Bean指定init-method和destroy-method举例Demo:bean实体类/** * bean的生命周期 * * @author wangjie * @vers...原创 2020-01-06 20:15:36 · 3152 阅读 · 0 评论 -
SpringSecurity安全认证流程源码分析
基于SpringSecurity表单登陆进行源码分析项目基础搭建略过SpringSecurity安全认证基于一系列过滤器,表单提交,请求进入后端AbstractAuthenticationProcessingFilter过滤器doFilter方法根据请求不同选择不同过滤器,表单提交选择UsernamePasswordAuthenticationFilter,之后具体流程为:一步步分析,...原创 2019-11-05 16:29:22 · 2329 阅读 · 0 评论