首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小黑娃Henry

    RunLoop源码阅读RunLoop源码阅读

    系统内核在收发事件、消息时使用的消息传递函数。可以理解为多进程之间的一种通讯调用机制。

    1.5K20发布于 2021-08-09
  • 来自专栏多线程

    MyBatis源码阅读(一) --- 源码阅读环境搭建

    一、简介 使用Mybatis有一段时间了,但是一直没有专门去阅读MyBatis框架的源码,Mybatis是一个非常值得我们去阅读的框架,源码里面运用了很多常见的设计模式,如构建者模式、代理模式、模板方法模式等等 下面我们就以搭建一个源码阅读环境开始,一起来看看Mybatis的源码。 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。 官网地址:mybatis.org/mybatis-3/z… 如果对Mybatis还不熟悉的小伙伴,建议还是先去官网熟悉Mybatis是如何使用的,熟悉以后我们再来看其源码实现。 下面我们搭建一个简单的Mybatis 源码Debug环境。 通过上面的示例,我们总结一下Mybatis使用的大体流程,如下图所示: 可以看到,主要分为了如上图的几个步骤,这几个步骤也是Mybatis的核心了,所以我们阅读源码也是从这几个部分切入,逐步逐步去了解里面的实现细节

    53910编辑于 2023-12-22
  • 来自专栏樯橹代码

    阅读redux源码

    redux源码解析 什么是redux Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 源码解析 注意: 如果没有使用过redux,建议先去看看redux文档 api方法 export { createStore, combineReducers, bindActionCreators

    1.2K10发布于 2019-09-02
  • 来自专栏海涛技术日常

    ThreadLocal源码阅读

    每个线程独有一个 Map,Map里的存储结构为 Entry <ThreadLocal,Object> 数组

    66410发布于 2019-12-16
  • 来自专栏全沾开发(huā)

    koa源码阅读

    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 示例代码仓库地址 源码阅读仓库地址

    94110发布于 2019-12-09
  • 来自专栏服务端技术杂谈

    ThreadLocal源码阅读

    ThreadLocal源码比较简单,整体了解起来比较容易。

    93540发布于 2018-04-17
  • ConcurrentHashMap 源码阅读

    ConcurrentHashMap源码阅读1.ConcurrentHashMap1.71.存储结构Java7中ConcurrentHashMap由很多个Segment组合,而每一个Segment是一个类似于 3.put接着上面的初始化参数继续查看put方法源码。展开代码语言:JavaAI代码解释/***Mapsthespecifiedkeytothespecifiedvalueinthistable. ss,u))==null){//使用CAS赋值,只会成功一次if(UNSAFE.compareAndSwapObject(ss,u,null,seg=s))break;}}}returnseg;}上面的源码分析了 3.put直接过一遍put源码。 4.getget流程比较简单,直接过一遍源码

    7810编辑于 2026-02-20
  • 来自专栏服务端技术杂谈

    InheritableThreadLocal源码阅读

    查看InheritableThreadLocal源码 重写了getMap和createMap方法。

    83840发布于 2018-04-17
  • 来自专栏个人分享

    SparkContext源码阅读

    SparkContext是spark的入口,通过它来连接集群、创建RDD、广播变量等等。

    1.1K20发布于 2018-09-06
  • 来自专栏全沾开发(huā)

    ioredis源码阅读

    ioredis源码阅读[1] 上次针对 redis 的源码阅读涉及普通的 client,这次针对 cluster 模式下的 client 源码进行分析。 具体的源码路径就是在 lib/cluster 目录下了。 127.0.0.1", }, { port: 6381, host: "127.0.0.1", }, ]) cluster.get('someKey').then() 从源码上来看

    98910发布于 2021-04-08
  • 来自专栏seth-shi的专栏

    PHP 源码阅读

    openldap-clients openldap-servers gd gd2 gd-devel gd2-devel perl-CPAN pcre-devel libicu-devel wget # 下载指定版本源码 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/

    6K10编辑于 2023-12-18
  • 来自专栏cc log

    Koa源码阅读

    toc Koa源码阅读 Koa使用 Koa整体调用流程 Koa 中间件“洋葱模型” Koa源码阅读 Koa使用 Koa整体调用流程 Koa 中间件“洋葱模型” Koa源码阅读 Koa 在众多NodeJs 框架中,以短小精悍而著称,核心代码只有大约570行,非常适合源码阅读。 本文就核心阅读中间件的源码。 Koa使用 中间件可以理解为插件,对于Koa来说,就是很简单的use()API。 Koa源码阅读 Koa 在众多NodeJs框架中,以短小精悍而著称,核心代码只有大约570行,非常适合源码阅读。 实际上核心来说,Koa主要是两块 中间件系统 对请求结构封装为更为易用的ctx对象。 本文就核心阅读中间件的源码。 Koa使用 中间件可以理解为插件,对于Koa来说,就是很简单的use()API。

    74510编辑于 2022-08-16
  • 来自专栏flytam之深入前端技术栈

    reselect源码阅读

    reselect源码阅读 之前就听闻了reselect是一个用于react性能优化的库,并且源码只有100多行。 可谓短小精悍,今天来阅读一波膜拜大佬们的思想 import { createSelector } from 'reselect' const shopItemsSelector = state = 下面开始阅读探读部分 先说几个简单的工具函数吧 首先是默认的比较函数,代表比较方式,可以根据业务需求换的。默认是进行全等比较 /** * 默认的比较函数,只进行一层全等比较。

    66420发布于 2020-01-14
  • 来自专栏个人分享

    NIO源码阅读

      自己对着源码敲一遍练习,写上注释。发现NIO编程难度好高啊。。

    68240发布于 2018-09-06
  • 来自专栏Ryan Miao

    ArrayList源码阅读

    = list.size(); Assert.assertEquals("a", one); Assert.assertEquals(4, size); } 下面,将从构造函数开始读取源码

    82380发布于 2018-03-14
  • 来自专栏about云

    如何阅读源码

    问题导读 1.阅读源码不同的情况该如何阅读源码? 2.如果为了面试,该如何快速懂得源码? 3.阅读源码的难点在什么地方? 为何要阅读源码? 1.面试要求 如果因为面试,去阅读源码,其实我们可以借助外力,帮助我们,比如通过阅读源码的书籍、视频。 1.面试阅读源码 为了面试阅读源码,如果我们采用传统的,按部就班的去搭建环境,调试等,这样的想法和执行。 《通用源码阅读指导书》 Hadoop可以阅读《大数据处理系统:Hadoop源代码情景分析》 想获取上面两本书籍也可以加微信w3aboutyun获取,附上“源码” 2.提升编码能力 阅读源码,对我们的编码能力提升还是比较大 所以阅读源码多了,我们在代码能力、代码功底就会有很大的提升。 我们在阅读代码前,首先是需要对你所阅读的代码有一个整体的认知,就比如我们阅读Hadoop源码

    98110编辑于 2022-03-31
  • 来自专栏yifei的专栏

    webbench源码阅读

    Webbench是一个在Linux下使用的非常简单的网站侧压工具。它使用fork()模拟多个客户端同时访问url,测试网站在压力下工作的性能。 只有socket.c和webbench.c两个文件.

    56820编辑于 2022-11-14
  • 来自专栏yifei的专栏

    tinyhttpd源码阅读

    这个web服务器涉及到进程、线程、管道、socket等内容,源码只有五六百行,非常适合初学者阅读。 程序阅读顺序:可以先大概看看这些函数的功能,再从主函数顺着看一下主体,主函数中先调用startup创建socket连接。

    78830编辑于 2022-11-14
  • 来自专栏玩转大前端

    源码阅读技巧

    本文是本人学习Cocos Creator、LayaAir、EgretWing 游戏引擎源码(包括渲染流程、资源加载、音频、图片、网络、动画等模块)总结出来的源码阅读技巧 一、看教程视频快速上手 起初刚接触 GitHub 项目架构 谷歌搜索Cocos 源码的 GitHub 项目,起初不清楚其有多个版本,因此看了cocos2d-x 的 C++版本的源码,之后看博客文章才清楚其 cocos2d-js 才是 js 版本的cocos creator引擎源码,位于其 engine 文件夹下,之后结合搜索对应js版本的cocos creator源码的分析文章,熟悉了调试过程以及大概了解了一些模块。 第三遍开始认真调试流程,阅读函数代码,先整体浏览梳理逻辑,思维导图搭好框架,之后梳理内部细节,输出文档 具体可查看本人的 cocos 源码分析文章:https://www.yuque.com/qiuchen-z6ajg /ks1fop/qpiub9#1b024ad2 四、向有经验的人请教 与他人交流最好是自己先有梳理过一遍代码,这样效率高一点,他人不同的角度有助于理解源码

    97830编辑于 2022-08-15
  • ArrayList 源码阅读

    ArrayList源码阅读ArrayList简介ArrayList的底层是数组队列,相当于一个动态数组。与Java中的数组相比,它的容量能动态增粘,并且支持随即插入。 ArrayList核心源码解读以下为JDK1.8的ArrayList部分源码:展开代码语言:JavaAI代码解释packagejava.util;importjava.util.function.Consumer Integer.MAX_VALUE:MAX_ARRAY_SIZE;}System.arraycopy()和Arrays.copyOf()方法阅读源码的话,我们就会发现ArrayList中大量调用了这两个方法 System.arraycopy()方法源码:展开代码语言:JavaAI代码解释//我们发现arraycopy是一个native方法,接下来我们解释一下各个参数的具体意义/***复制数组*@paramsrc inti=0;i<a.length;i++){System.out.print(a[i]+"");}}}结果:展开代码语言:JavaAI代码解释01992300000Arrays.copyOf()方法源码

    10810编辑于 2026-02-19
领券