一、Autowired注解的原理的概览我们都知道一个Bean的大致生命周期有这几个阶段,实例化--> 属性填充 --> 初始化  --> 销毁回调 其中Autowired作用的时间就是在属性填充阶段,而且是通过AutowiredAnnotation BeanPostProcessor类进行处理的。注入的整体流程如下: 二、一步步分析Autowired
转载 8月前
85阅读
目录一、事务的传播属性一、传播属性的概述二、Propagation.REQUIRED属性            ①、实例代码:            ②、Debug调试            ③、正常情况伪代码流程&nb
文章目录一、ChannelBase类定义二、Channel类基本定义三、Channel参数3.1 ChannelOptions定义3.2 根据ChannelOptions为Channel设置参数四、Channel初始化五、核心调用函数CallMethod六、Weight()和CheckHealth() 以前写过访问下游的一些源码解析,但更多的是从整个处理流程上过了一遍,能够快速地熟悉处理过程,
Consul初始化过程中涉及三个核心包,分别为spring-cloud-consul-core、spring-cloud-consul-config、spring-cloud-consul-discovery。spring-cloud-consul-core包涉及核心类ConsulAutoConfiguration。spring-cloud-consul-discovery包涉及核心类如下:Con
在上面一篇分析ThreadExecutedPool的文章中我们看到线程池实现源码中大量使用了ReentrantLock锁,那么ReentrantLock锁的优势是什么?它又是怎么实现的呢? ReentrantLock又名可重入锁,为什么称之为可重入锁呢?简单来说因为它允许一个线程多次取获得该锁,不过多次获取该锁之后,也需要执行同样次数的释放锁操作,否则该锁将被当前线程一直持有,导致其它线程无法获取
tarsframework 的源码大体分3部分1、framework  框架的实现,里面内容是框架各个基础服务具体做的事;2、servant 实现的内容是 单个服务基础lib的封装,包括网络IO,协程,逻辑管理等封装;3、Util里一些高性能 数据结构的实现。 framework  和 servant 是这个框架,实现高可用设计,Util则是腾讯大神撸码功底
转载 6月前
37阅读
@Transactional 源码解析1.springboot 下@Transactional使用方式2.spring是怎么处理事务的2.1 创建事务2.2 调用业务方法2.3 清除事务2.4 提交或者回滚事务 1.springboot 下@Transactional使用方式在springboot框架下,事务管理只要在实现类方法上增加@Transactional这个注解就可以了。@Transac
之前一直是使用faster rcnn对其中的代码并不是很了解,这次刚好复现mask rcnn就仔细阅读了faster rcnn,主要参考代码是pytorch-faster-rcnn ,部分参考和借用了以下博客的图片 整体框架首先图片进行放缩到W*H,然后送入vgg16(去掉了pool5),得到feature map(W/16, H/16)然后feature map上每个点都对应原图上的9个anch
写js也有两年多了,一直对它的运行机制和原理不是很了解,今天特意把大神们的理论和自己的总结都记录到下面:什么是JavaScript解析引擎简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序。比方说,当你写了 var a = 1 + 1; 这样一段代码,JavaScript引擎做的事情就是看懂(解析)你这段代码,并且将a的值变为2。学过
本文章简要对SpringCloudGateway的源码进行分析。 目的让读者能大致了解到Gateway的执行流程,前序源码阅读前的建议: 1.了解过Spring&SpringBoot源码(非必需)。 2.了解过Reactor框架的基础(非必需)。简介网关的作用在这里就不赘述了,下面这个图(官网上的)描述了网关的大致执行流程原理,现在看着肯定很抽象,本文阅读完后再看这张图你绝对会很清晰。 看
转载 6月前
143阅读
ArrayList源码解析 简介 ArrayList是Java集合框架中非常常用的一种数据结构。继承自AbstractList,实
转载 2021-04-15 15:24:00
168阅读
2评论
ArrayList源码解析 简介 ArrayList是Java集合框架中非常常用的一种数据结构。继承自AbstractList,实现了List接口。底层基于数组来实现动态容量大小的控制,允许null值的存在。同时还实现了RandomAccess、Cloneable、Serializable接口,支持 ...
转载 2021-04-15 15:24:00
165阅读
2评论
一、概述 1.1> 整体概览 在前面
原创 2023-06-03 17:23:55
232阅读
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认
原创 2022-07-05 11:20:42
377阅读
文章目录前言一、类图二、类关系1. TransactionStatus三、MethodInterceptor#invoke1.方法拦截器?2.TransactionInterceptor#invoke3. TransactionAspectSupport#invokeWithinTransaction3.1 createTransactionIfNecessary3.1.1 AbstractPl
首先祝贺大家能看到这儿,说明都是人才,然后想说的就是,这一章过后,可能就会停止晕车了,但是这是在前面的文章都认真阅读理解的前提上,相信大家肯定有很大的收获,这也是我坚持下来的最大动力。进入正题先上一张图 【Spring 源码解析图】 接下来 进入SpringMVC源码分析根据上一篇文章分析的 Spring MVC 工作机制,我们将从三个部分来分析 Spring MVC 的源代码。 其一
目录1,源码整体结构1.1,build 目录1.2,examples 目录1.3,packages 目录1.4,src 目录2,打包整体流程2.1,npm run build:file2.1.1,build/bin/iconInit.js2.1.2,build/bin/build-entry.js2.1.3,build/bin/i18n.js2.1.4,build/bin/version.js2
spring的整个请求流程都是围绕着​​DispatcherServlet​​进行的类结构图根据类的结构来说DispatcherServlet本身也是继承了HttpServlet的,所有的请求都是根据这一个Servlet来进行转发的,同时解释了为什么需要在web.xml进行如下配置,因为Spring是基于一个Servlet来展开的,当然不需要Servlet也能够使用Spring<servle
转载 2015-10-13 16:50:00
218阅读
2评论
〇、AOP概念 Aspect:切面 给业务方法增加到功能,切面泛指交叉业务逻辑。上例中的事务处理、日志处理就可以理解为切面。常用的切面是通知(Advice)。实际就是对主业务逻辑的一种增强。 Pointcut:切入点 切入点指声明的一个或多个连接点的集合,通过切入点指定一组方法。被标记为 final 的方法是不能作为连接点与切入点的。因为最终的是不能被修改的,不能被增强的。 Advice:
原创 精选 2023-07-02 12:18:23
1837阅读
Mybatis源码解析一、前言https://github.com/lchpersonal/mybatis-learn 本文使用的mybatis版本:3.2.8, jdk版本:1.8 数据库版本:mysql 5.6,数据库脚本如下,此外在源文件为:resources/mybatis.sql-- 导出 mybatis 的数据库结构 CREATE DATABASE IF NOT EXISTS `myb
  • 1
  • 2
  • 3
  • 4
  • 5