【Flutter路由管理和页面参数的传递(源码分析)】教程文章相关的互联网学习教程文章

第十篇:Spark SQL 源码分析之 In-Memory Columnar Storage源码分析之 query【图】

scala> val exe = executePlan(sql("select value from src").queryExecution.analyzed) 14/09/26 10:30:26 INFO parse.ParseDriver: Parsing command: select value from src 14/09/26 10:30:26 INFO parse.ParseDriver: Parse Completed exe: org.apache.spark.sql.hive.test.TestHive.QueryExecution = == Parsed Logical Plan == Project [value#5] InMemoryRelation [key#4,value#5], false, 1000, (HiveTableS...

第二篇:Spark SQL Catalyst源码分析之SqlParser【图】

def sql(sqlText: String): SchemaRDD = new SchemaRDD(this, parseSql(sqlText))//sql("select name,value from temp_shengli") 实例化一个SchemaRDD protected[sql] def parseSql(sql: String): LogicalPlan = parser(sql) //实例化SqlParser class SqlParser extends StandardTokenParsers with PackratParsers { def apply(input: String): LogicalPlan = { //传入sql语句调用apply方法,input参数即sql语句...

JUC源码分析21-队列-LinkedBlockingDeque【代码】

实现BlockingDequeue接口,这个接口继承BlockingQueue和Dequeue,看下接口方法: public interface BlockingDeque<E> extends BlockingQueue<E>, Deque<E> {/** Deque 方法 *//*** 插入元素到队列头,队列满就IllegalStateException异常*/void addFirst(E e);/*** 插入元素到队列尾,队列满就IllegalStateException异常*/void addLast(E e);/*** 插入元素到队列头,队列满就false*/boolean offerFirst(E e);/*** 插入元素到队列尾,...

MyBatis 源码分析——动态SQL语句【代码】【图】

public SqlSource parseScriptNode() {2 List<SqlNode> contents = parseDynamicTags(context);3 MixedSqlNode rootSqlNode = new MixedSqlNode(contents);4 SqlSource sqlSource = null;5 if (isDynamic) {6 sqlSource = new DynamicSqlSource(configuration, rootSqlNode);7 } else {8 sqlSource = new RawSqlSource(configuration, rootSqlNode, parameterType);9 } 10 return sqlSour...

undrop for innodb c_parser 源码分析

一,主函数功能: 1,分析命令行参数,保存在全局变量中; 2,打开文件,加载表定义sql,调用分析函数开始处理; 3,打印导入数据的sql语句; 二,文件处理函数,void process_ibfile(int fn): 1循环读每一页面,调用分析页面函数去去处理,process_ibpage(page); 其中会检测如果只恢复删除记录时,删除记录要有效 三,处理页面的函数,process_ibpage(page_t *page) : 1,打印转储文件中当前页面的信息,包括页面ID,格式,记录表是否有效,预期的记录数;...

二、Crazepony1无人机源码分析-(4)接受遥控器的数据【代码】【图】

二、Crazepony1无人机源码分析-(4)接受遥控器的数据 1.程序源码2.流程图 1.程序源码 //查询中断 void Nrf_Irq(void) {uint8_t sta = NRF_Read_Reg(NRF_READ_REG + NRFRegSTATUS);if(sta & (1<<RX_DR))//接收轮训标志位{NRF_Read_Buf(RD_RX_PLOAD,NRF24L01_RXDATA,RX_PLOAD_WIDTH);// read receive payload from RX_FIFO bufferReceiveDataFormNRF(); //数据处理NRF_Write_Reg(NRF_READ_REG + NRFRegSTATUS, sta);//清除nrf的中...

vlc源码分析(五) 流媒体的音视频同步【代码】【图】

http://www.cnblogs.com/jiayayao/p/6890882.html vlc播放流媒体时实现音视频同步,简单来说就是发送方发送的RTP包带有时间戳,接收方根据此时间戳不断校正本地时钟,播放音视频时根据本地时钟进行同步播放。首先了解两个概念:stream clock和system clock。stream clock是流时钟,可以理解为RTP包中的时间戳;system clock是本地时钟,可以理解为当前系统的Tick数。第一个RTP包到来时:fSyncTimestamp = rtpTimestamp;// rtp时...

3. SOFAJRaft源码分析— 是如何进行选举的?

开篇 在上一篇文章当中,我们讲解了NodeImpl在init方法里面会初始化话的动作,选举也是在这个方法里面进行的,这篇文章来从这个方法里详细讲一下选举的过程。 由于我这里介绍的是如何实现的,所以请大家先看一下原理:SOFAJRaft 选举机制剖析 | SOFAJRaft 实现原理 文章比较长,我也慢慢的写了半个月时间~ 选举过程分析 我在这里只把有关选举的代码列举出来,其他的代码暂且忽略 NodeImpl#init public boolean init(final NodeOpti...

数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 解析(六)之删除SQL【代码】【图】

RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。新的源码解析文章实时收到通知。每周更新一篇左右。认真的源码交流微信群。本文主要基于 Sharding-JDBC 1.5.0 正式版1. 概述2. DeleteStatement3. #parse()3.1 #skipBetweenDeleteAndTable()3.2 #parseSingleTable()3.3 #parseWhere()666. 彩蛋1. 概述本文前置阅读:《SQL 解析(一)之词...

scrapy 源码解析 (三):启动流程源码分析(三) ExecutionEngine执行引擎【代码】【图】

ExecutionEngine执行引擎 上一篇分析了CrawlerProcess和Crawler对象的建立过程,在最终调用CrawlerProcess.start()之前,会首先建立ExecutionEngine执行引擎,执行其open_spider和start方法。 ExecutionEngine.open_spiders() scrapy/core/engine.py#ExecutionEngine:@defer.inlineCallbacksdef open_spider(self, spider, start_requests=(), close_if_idle=True):assert self.has_capacity(), "No free spider slot when opening...

Muduo网络库源码分析(六)TcpConnection 的生存期管理【图】

TcpConnection是使用shared_ptr来管理的类,因为它的生命周期模糊。TcpConnection表示已经建立或正在建立的连接,建立连接后,用户只需要在上层类如TcpServer中设置连接到来和消息到来的处理函数,继而回调TcpConnection中的 setConnectionCallback和setMessageCallback函数,实现对事件的处理。用户需要关心的事件是有限的,其他都由网络库负责。TcpConnection中封装了InputBuffer和OutputBuffer,用来表示应用层的缓冲区。在发送...

ArrayList的源码分析【代码】【图】

前言 我思故我在 ArrayList的简介 1,ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacityXXX 方法来操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 2,它继承了AbstractList,实现了 List, RandomAccess, Cloneable, java.io.Serializable 这些接口。 3,插入删除元素的时间复杂度为O(n),求表长以及增加元素,取第 i...

Spring源码分析专题 —— IOC容器启动过程(上篇)【代码】【图】

声明 1.建议先阅读《Spring源码分析专题 —— 阅读指引》 2.强烈建议阅读过程中要参照调用过程图,每篇都有其对应的调用过程图 3.写文不易,转载请标明出处前言关于 IOC 容器启动的内容很多,我将分上中下三篇讲解,其中上篇相对简单,中篇最为复杂,请大家耐心阅读。上篇 - 主要是相关基础说明和找到分析入口中篇 - 讲解定位、加载、注册的过程(实例化在依赖注入的章节再讲)下篇 - 细节补充调用过程图由于篇幅问题,此处我只放个...

[Abp 源码分析]四、模块配置【代码】【图】

0.简要介绍在 Abp 框架当中通过各种 Configuration 来实现模块的配置,Abp 本身提供的很多基础设施功能的一些在运行时的行为是通过很多不同的 Configuration 来开放给用户进行一些自定义配置的。比如说缓存模块,我要配置缓存的过期时间,Abp 默认是 1 个小时,但是我也可以自己来定义,直接赋值或者从配置项来读取都是由具体使用者来控制的,所以 Abp 通过各种 Configuration 类来控制一些运行时参数。这些 Abp 本身基础设施的配置...

es lucene搜索及聚合流程源码分析【代码】

本文以TermQuery,GlobalOrdinalsStringTermsAggregator为例,通过代码,分析es,lucene搜索及聚合流程。1:协调节点收到请求后,将search任务发到相关的各个shard。 相关代码:TransportSearchAction.executeSearch TransportSearchAction.searchAsyncAction.start AbstractSearchAsyncAction.executePhase(SearchQueryThenFetchAsyncAction) InitialSearchPhase.performPhaseOnShard SearchQueryThenFetchAsyncAction.executePha...