系统内核在收发事件、消息时使用的消息传递函数。可以理解为多进程之间的一种通讯调用机制。
一、简介 使用Mybatis有一段时间了,但是一直没有专门去阅读MyBatis框架的源码,Mybatis是一个非常值得我们去阅读的框架,源码里面运用了很多常见的设计模式,如构建者模式、代理模式、模板方法模式等等...下面我们就以搭建一个源码阅读环境开始,一起来看看Mybatis的源码。 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。...官网地址:mybatis.org/mybatis-3/z… 如果对Mybatis还不熟悉的小伙伴,建议还是先去官网熟悉Mybatis是如何使用的,熟悉以后我们再来看其源码实现。...下面我们搭建一个简单的Mybatis 源码Debug环境。...通过上面的示例,我们总结一下Mybatis使用的大体流程,如下图所示: 可以看到,主要分为了如上图的几个步骤,这几个步骤也是Mybatis的核心了,所以我们阅读源码也是从这几个部分切入,逐步逐步去了解里面的实现细节
SparkContext是spark的入口,通过它来连接集群、创建RDD、广播变量等等。
ThreadLocal源码比较简单,整体了解起来比较容易。
ioredis源码阅读[1] 上次针对 redis 的源码阅读涉及普通的 client,这次针对 cluster 模式下的 client 源码进行分析。...具体的源码路径就是在 lib/cluster 目录下了。...127.0.0.1", }, { port: 6381, host: "127.0.0.1", }, ]) cluster.get('someKey').then() 从源码上来看
redux源码解析 什么是redux Redux 是 JavaScript 状态容器,提供可预测化的状态管理。...源码解析 注意: 如果没有使用过redux,建议先去看看redux文档 api方法 export { createStore, combineReducers, bindActionCreators
开始(环境准备) 新建一个项目目录,并在目录中新建文件Dockerfile FROM centos:7 # 安装依赖工具 RUN yum -y install gcc gcc-c++ gdb autoconf...RUN mkdir ~/php71 && tar -xvf /tmp/php.tar.gz --strip-components 1 -C ~/php71 # 安装目录 /var/php71 # 源码目录...已挂载进容器 docker-compose exec centos bash php-fpm nginx # 查看 worker 进程号 ps aux | grep fpm gdb --pid=xxx 阅读工具...推荐使用Understand 尝试过CLion和Visual Studio 很多代码都不能进行跳转 需自行下载一个与Dockerfile中PHP版本相同的源码用于阅读 增加扩展(可选) 依赖 下载已经安装的...PHP按本的PHP源码 进入扩展源码目录比如curl cd ~/php71/ext/curl 执行phpize(编译PHP扩展的工具,主要是根据系统信息生成对应的configure文件) /var/
koa源码阅读[0] Node.js也是写了两三年的时间了,刚开始学习Node的时候,hello world就是创建一个HttpServer,后来在工作中也是经历过Express、Koa1.x、Koa2...用的比较多的还是Koa版本,也是对它的洋葱模型比较感兴趣,所以最近抽出时间来阅读其源码,正好近期可能会对一个Express项目进行重构,将其重构为koa2.x版本的,所以,阅读其源码对于重构也是一种有效的帮助...image.png 小记 最近抽时间将Koa相关的源码翻看一波,看得挺激动的,想要将它们记录下来。 应该会拆分为几段来,不一篇全写了,上次写了个装饰器的,太长,看得自己都困了。...koa与koa-compose 热门中间件 koa-router与koa-views 杂七杂八的轮子 koa-bodyparser/multer/better-body/static 示例代码仓库地址 源码阅读仓库地址
每个线程独有一个 Map,Map里的存储结构为 Entry <ThreadLocal,Object> 数组
查看InheritableThreadLocal源码 重写了getMap和createMap方法。
AbstractQueuedSynchronizer 就是那个大名鼎鼎的 AQS,是java.util.concurrent包下同步器的核心。 CLH(Crai...
HashMap是什么想必大家都是知道的,日常开发中经常使用,而且常驻于笔试题目及面试中,那么今天将从源码的角度来深入理解一下HashMap。...hash()方法和indexOf()方法 大家可能注意到了,在get()和put()方法的实现中,都使用到了这两个方法,那么这里看一下源码: //通过一系列复杂的计算拿到一个int类型的hash值 final...联系邮箱:huyanshi2580@gmail.com 更多学习笔记见个人博客——>呼延十 var gitment = new Gitment({ id: 'Hashmap源码阅读', // 可选
但阅读的时候,要带着问题去读。 带着最简单的问题,开始阅读源码。...Nginx Lua …… Python Web 框架方面: Flask Django JavaScript 方面: jQuery 不在浮沙筑高台 并不推荐一上来就是看源码,一般是当你在某个方向上有一定的基本知识积累了才开始去尝试阅读...不然,完全的新人去阅读代码,只会信心受打击。 推荐每一位初学者在某一技术方向上有基本的积累后,可以找一个优秀的开源项目,并试着阅读。...不懂没有关系,既然是优秀且开源的项目,网上必定会有很多的资料以及文档,这些都能为你读懂源码提供很多的帮助。...阅读源码本身是枯燥乏味的过程,我经常看一个模块一两天,来来回回往往复复,假使心浮气躁,容易浅尝辄止,半途而废。
源码阅读 定义 首先看一下Vector类的定义. public class Vector extends AbstractList implements List, RandomAccess...后话 由于Vector内部使用数组实现,因此源码并不复杂....同时,在学习源码的过程中我们可以发现,很多对数组进行操作的方法使用synchronized修饰,因此可以保证线程安全性,同时,synchronized会加锁,因此效率可能会相对于ArrayList低一些
获取runloop的函数 // 获取主线程的runloop CFRunLoopRef CFRunLoopGetMain(void) { CHECK_FO...
MJRefresh.bundle:多语言处理 其它的还有MJRefreshConst常量定义,还有一些扩展(通过runtime增加mj需要的属性) Classes目录下是MJ官方文档中示例的实现,我们阅读源码可以忽略它...panGesture.state进行监听,在移除view时,需要移除监听 通过上面的监听来修改view的位置、动画等自定的内容(这一步也是自定义刷新的难点,然而像这种对UI的操作,如果不能满足项目的需求,我们去阅读对我们的参考价值也不大
NSURLCache,它我这里就不具体讲了,有兴趣的可以看这篇文章 http://nshipster.cn/nsurlcache/ 三、加载动画和滤镜 对于这一部分内容,我自己也没有使用过,所以下面只贴出源码加注释
github.com/looplab/fsm实现了一个有限状态机,下面研究下它的源码,除了测试文件外,它有下面几个文件: errors.go //定义了错误 fsm.go //定义了状态机的核心逻辑...下面结合源码具体看看: fsm.go func NewFSM(initial string, events []EventDesc, callbacks map[string]Callback) *FSM...格式,可是安装vscode插件Markdown Preview Mermaid Support,然后通过markdown代码段的方式可视化,打开后点击cmd shift v可以看到下面的效果: 至此源码分析完毕
c.Next()方法,这个方法的核心,主要是方便接入中间件(Middleware),使得代码模块化操作。
2 RustDesk 组成 2.1 服务端 源码:https://github.com/rustdesk/rustdesk-server-demo 服务端未开源,但作者提供了一个 demo。...2.2 客户端 源码:https://github.com/rustdesk/rustdesk 代码执行流: 启动后,src/ui.rs 会打开 ui/index.tis,同时启动 src/rendezvous_mediator.rs
领取专属 10元无门槛券
手把手带您无忧上云