Chase620 Chase620
3年前
MyBatis 源码分析 - 插件机制
1.简介一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展。这样的好处是显而易见的,一是增加了框架的灵活性。二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作。以MyBatis为例,我们可基于MyBatis插件机制实现分页、分表,监控等功能。由于插件和业务无关,业务也无法感知插件的存在。因此可以无感植入插件,在无形中增强
九路 九路
3年前
从面试角度分析ArrayList源码
注:本系列文章中用到的jdk版本均为java8ArrayList类图如下:ArrayList的底层是由数组实现的,数组的特点是固定大小,而ArrayList实现了动
Stella981 Stella981
3年前
Flink Kafka 端到端 Exactly
摘要:本文基于Flink1.9.0和Kafka2.3版本,对Flinkkafka端到端ExactlyOnce进行分析及 notifyCheckpointComplete顺序,主要内容分为以下两部分:1.Flinkkafka两阶段提交源码分析TwoPhaseCommitSinkFuncti
Stella981 Stella981
3年前
Redis网络模型的源码分析
Redis的网络模型是基于I/O多路复用程序来实现的。源码中包含四种多路复用函数库epoll、select、evport、kqueue。在程序编译时会根据系统自动选择这四种库其中之一。下面以epoll为例,来分析Redis的I/O模块的源码。epoll系统调用方法Redis网络事件处理模块的代码都是围绕epoll那三个系统方法
Stella981 Stella981
3年前
Maven常用插件
\MavenReportPlugin1.源码分析Java代码  !收藏代码(http://static.oschina.net/uploads/img/201602/14112248_QSBR.png)1.<artifactIdmavenpmdplugin</arti
Easter79 Easter79
3年前
Tomcat8源码分析3
1\.执行Bootstrap类的static代码块,初始化Bootstrap的catalinaHomeFile属性和catalinaBaseFile属性,默认情况下值都为tomcat的安装目录.关于这两个属性,说明如下.Adva
Stella981 Stella981
3年前
Rust源码分析:channel's upgrade
https://zhuanlan.zhihu.com/p/50101525(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fzhuanlan.zhihu.com%2Fp%2F50101525)std::sync::mpsc::channel(https://www.oschina
Stella981 Stella981
3年前
Android ClassLoader加载过程源码分析
背景Android开发过程中,开发的小伙伴对动态加载代码肯定不陌生。使用各个开源框架的中都应该有接触,其主要原理离不开ClassLoader等相关的类。这里我们会从Android中ClassLoader等相关类的源码入手,更好的理解和学习动态加载类的原理。详细分析ClassLoader加载原理Clas
Easter79 Easter79
3年前
Tomcat8源码分析2
  有篇博客讲得很好: http://blog.csdn.net/flyliuweisky547/article/details/22753383(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.csdn.net%2Fflyliuweisky547%2Farticle%2Fde
Easter79 Easter79
3年前
Spring源码解析(三)BeanDefinition的载入、解析和注册
  通过上一篇源码的分析已经完成了BeanDefinition资源文件的定位,本篇继续分析BeanDefinition资源文件的载入和解析。AbstractBeanDefinitionReader的loadBeanDefinitions(Stringlocation,Set<ResouceactualResouces)方法完成定位,紧接着调用loa