25 BasicUsageEnvironment0基本使用环境基类——Live555源码阅读(三)UsageEnvironment 25 BasicUsageEnvironment0基本使用环境基类——Live555源码阅读(三)UsageEnvironment 简介 代码定义如下 BasicUsageEnvironment0构造析构与重置 ResultMsg系列方法 getResultMsg() const方法(获取buffer) appendToResultMsg方法(添加msg到buffe…
26 BasicUsageEnvironment基本使用环境--Live555源码阅读(三)UsageEnvironment 26 BasicUsageEnvironment基本使用环境--Live555源码阅读(三)UsageEnvironment 简介 以下是其定义 BasicUsageEnvironment的构造与析构 createNew方法(创建对象) getErrno方法 operator<<方法(输出到strerr) 这是Live555源码阅读的第三部分,包括了UsageEnvir…
24 UsageEnvironment使用环境抽象基类——Live555源码阅读(三)UsageEnvironment 24 UsageEnvironment使用环境抽象基类——Live555源码阅读(三)UsageEnvironment 简介 下面是其定义 UsageEnvironment的构造与析构 reclaim方法(自我回收) internalError方法(内部错误) 这是Live555源码阅读的第三部分,包括了UsageEnvironment相关的三个类. 本文由乌合之众 lym瞎编…
一. AOP切面源码分析 源码分析分为三部分 1. 解析切面 2. 创建动态代理 3. 调用 源码的入口 源码分析的入口, 从注解开始: 组件的入口是一个注解, 比如启用AOP的注解@EnableAspectJAutoProxy. 在注解的实现类里面, 会有一个@Import(""). 这个@Import("")就是引入的源码实现类. 比如AOP的@Import(AspectJAutoProxyRegistrar.class) 通常, Spring要开启某一个功能,…
1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring4.3.7)分析,弄清楚Controller是如何匹配我们传入的参数,并定义简单的参数解析器 2.源码分析 demo源码在这里,回到DispatcherServlet的doDispatch方法,DispatchServlet分析见SpringMVC源码阅读:核心分发器DispatcherServle…
Mybatis源码分析: 1.配置文件解析: 1.1源码阅读入口: org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(); 功能:解析全局配置文件,调用parse.evalNode()方法,将指定路径的config配置文件转换为XNode对象,然后调用parseConfiguration()方法逐步解析配置文件中的各个节点: 1.2 mapperElement():解析mappers标签,解析过程中就是对映射文件的解析过程 2. Mappe…
package java.util; public interface Collection<E> extends Iterable<E> { //返回该集合中元素的数量 int size(); //判断该集合中元素是否为空 size() == 0 boolean isEmpty(); boolean contains(Object o); Iterator<E> iterator(); Object[] toArray(); <T> T[] toArray…
额,没忍住,想完全了解sparksql,毕竟一直在用嘛,想一次性搞清楚它,所以今天再多看点好了~ 曾几何时,有一个叫做shark的东西,它改了hive的源码...突然有一天,spark Sql突然出现,如下图: = =好了,不逗了,言归正传...那么一条sql传统数据库会是怎么解析的呢? 传统数据库的解析过程是按Rusult.Data Source.Operation的次序来解析的.传统数据库先将读入的SQL语句进行解析,分辨出SQL语句中哪些词是关键字(如select,from,where),…
先理一下Bean的初始化路线 org.springframework.beans.factory.support.AbstractBeanDefinitionReader public int loadBeanDefinitions(Resource... resources) throws BeanDefinitionStoreException { Assert.notNull(resources, "Resource array must not be null"); int c…
从本节开始,将逐步阅读nsq各模块的代码. 读一份代码,我的思路一般是: 1.了解用法,知道了怎么使用,对理解代码有宏观上有很大帮助. 2.了解各大模块的功能特点,同时再想想,如果让自己来实现这些模块,会是怎么样的思路. 3.开始上手试读,为不打击阅读的积极性,可以选择一个简单的模块,或者某一个功能点开始读.对nsq而言,打开源码的目录看一下,发现nsqlookupd和nsqadmin的代码相对较少,而nsqd的代码量较多.再比较nsqlookupd和nsqadmin,发现nsqadmin下还有…