本文采用mysql驱动是5.1.38版本. 本篇文章涉及内容比较多,单就Hibernate来讲就很大,再加上数据库驱动和数据库相关,非一篇文章或一篇专题就能说得完.本文从使用入手在[Spring实战]----Spring4.3.2集成Hibernate5.2.5基础上继续深入研究.本文包含以下内容:SQL语句在数据库中的执行过程.JDBC.PreparedStatement.Hibernate参数绑定 代码托管地址:https://github.com/honghailiang/Sp…
一.背景知识 在阅读开源框架源码时,发现许多框架都支持SPI(Service Provider Interface ),前面有篇文章JDBC对Driver的加载时应用了SPI,参考[Hibernate实战]源码解析Hibernate参数绑定及PreparedStatement防SQL注入原理,于是借着JDBC对Driver的加载实现,分析下SPI机制. 二.什么是SPI 看下Wikipedia对其的解释 Service Provider Interface (SPI) is an API int…
[源码解析] 机器学习参数服务器ps-lite 之(1) ----- PostOffice 目录 [源码解析] 机器学习参数服务器ps-lite 之(1) ----- PostOffice 0x00 摘要 0x01 概要 1.1 参数服务器是什么 1.2 历史溯源 1.3 论文架构 1.4 ps-lite发展历程 1.5 ps-lite 系统总体 1.6 基础模块 0x02 系统启动 2.1 如何启动 2.2 启动脚本 2.3 示例程序 0x03 Postoffice 3.1 定义 3.2 ID…
[源码解析] 机器学习参数服务器ps-lite(2) ----- 通信模块Van 目录 [源码解析] 机器学习参数服务器ps-lite(2) ----- 通信模块Van 0x00 摘要 0x01 功能概述 0x02 定义 2.1 UML图 2.2 主要说明 2.3 线程管理 2.4 类定义 0x03 初始化 0x04 接受消息 4.1 后台处理消息线程 4.2 处理函数 4.2.1 控制信息 4.2.2 线程内全局变量 4.2.3 具体实现 4.3 处理 ADD_NODE 消息 4.3.1 注册…
[源码解析] 机器学习参数服务器ps-lite 之(3) ----- 代理人Customer 目录 [源码解析] 机器学习参数服务器ps-lite 之(3) ----- 代理人Customer 0x00 摘要 0x01 来源 1.1 目前总体 1.2 Postoffice 1.3 Van 1.4 Customer 1.5 目前逻辑 0x02 基础类 2.1 SArray 2.2 KVPairs 2.3 Node 2.4 Control 2.5 Meta 2.6 Message 2.6.1 结构…
[源码解析]机器学习参数服务器ps-lite(4) ----- 应用节点实现 目录 [源码解析]机器学习参数服务器ps-lite(4) ----- 应用节点实现 0x00 摘要 0x01 基础类 1.1 Range 1.2 TreadsafeQueue 0x02 SimpleApp 2.1 概述 2.2 定义 2.2.1 支撑类 2.2.2 成员变量 2.3 功能函数 0x03 KVServer 3.1 定义 3.2 功能函数 3.2.1 Response 3.2.2 Process 3.2.3…
[源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 目录 [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 0x00 摘要 0x01使用 1.1 配置&启动 1.2 编译 1.3 梯度下降法 1.4 驱动代码 1.5 算法代码 1.5.1 类定义 1.5.2 主体代码 1.5.3 Agd算法 1.6 小结 0x02 启动 2.1 python脚本 prun.py 2.1.1 主体函数 2.1.2 starter函数 2.2 可执行程序 start…
[源码解析] 机器学习参数服务器 Paracel (2)-----SSP实现 目录 [源码解析] 机器学习参数服务器 Paracel (2)-----SSP实现 0x00 摘要 0x01 背景知识 1.1 异步控制协议 1.2 Straggler 问题 0x02 实现 2.1 ssp_switch 2.2 thrd_exec_ssp 2.3 转换 2.4 逻辑串联 2.4.1 初始化 2.4.2 worker 端 iter_commit 2.4.3 服务端 incr_int 2.4.4 串联 0…
[源码解析] 机器学习参数服务器Paracel (3)------数据处理 目录 [源码解析] 机器学习参数服务器Paracel (3)------数据处理 0x00 摘要 0x01 切分需要 1.1 切分的好处 1.2 数据并行 1.3 模型并行 1.3.1 线性模型 1.3.2 非线性模型(神经网络) 1.4 混合使用 0x02 切分机制与数据格式 2.1 切分原则 2.2 模型和数据格式 2.3 Paracel 数据机制 2.3.1 数据表示 2.3.2 数据加载 0x03 数据加载 3.…
上一篇博客springMVC源码分析--HandlerMethodArgumentResolver参数解析器(一)中我们已经介绍了参数解析相关的东西,并且也提到了HandlerMethodArgumentResolverComposite,其简单来说就是所有的参数解析器的链表,保存了springMVC提供的所有的参数解析器,采用职责链的模式来完成参数解析器的查找,并完成参数解析生成目标对象. 完整源码及说明如下: public class HandlerMethodArgumentResolve…