【GBDT之GradientBoostingClassifier源码分析】教程文章相关的互联网学习教程文章

【Spark SQL 源码分析系列文章】【图】

从决定写Spark SQL源码分析的文章,到现在一个月的时间里,陆陆续续差不多快完成了,这里也做一个整合和索引,方便大家阅读,这里给出阅读顺序 :) 第一篇 Spark SQL源码分析之核心流程 第二篇 Spark SQL Catalyst源码分析之SqlParser 第三篇 Spark SQL Catalyst源码分析之Analyzer 第四篇 Spark SQL Catalyst源码分析之TreeNode Library 第五篇 Spark SQL Catalyst源码分析之Optimizer 第六篇 Spark SQL Catalyst源码...

Go源码分析系列:sql驱动加载【代码】

对于开发人员来说,我们不仅要知其然,更要知其所以然,不仅要知道工具如何用,更要知道,工具的原理,这也是我写这个文章系列(Go源码分析)的意义,记录的同时,也希望对大家有所帮助。 话不多说,直接开始: ------------------------------- 先说一下go语言中提供的一个sql框架(database/sql),但是呢,它只提供了一个架子,并没有具体实现,我们可以通过插件的方式注册自己想要使用的数据库,比如MySQL。 下面看一段代码:...

TreeMap源码分析1【代码】【图】

二叉树他们都需要满足一个基本性质--即树中的任何节点的值大于它的左子节点,且小于它的右子节点。按照这个基本性质使得树的检索效率大大提高。我们知道在生成二叉树的过程是非常容易失衡的,最坏的情况就是一边倒(只有右/左子树),这样势必会导致二叉树的检索效率大大降低(O(n)),所以为了维持二叉树的平衡,大牛们提出了各种实现的算法,如:AVL,SBT,伸展树,TREAP ,红黑树等等。 平衡二叉树必须具备如下特性:它是一棵空...

第十篇: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...