搜索结果
查询Tags标签: 源码分析,共有 33条记录-
Spring源码:Bean生命周期(终章)
前言 本系列前面讲解了Spring的bean定义、bean实例化、bean初始化等生命周期。这些步骤使我们能够了解bean从创建到准备好使用所经历的过程。但是,除了这些步骤,bean的销毁也是非常重要的一步。在本系列的最后,我们将深入探讨bean的销毁过程,包括在什么情况下会发生销…
2023/5/23 18:52:06 人评论 次浏览 -
Spring源码:Bean生命周期(五)
前言 在上一篇文章中,我们深入探讨了 Spring 框架中 Bean 的实例化过程,该过程包括从 Bean 定义中加载当前类、寻找所有实现了 InstantiationAwareBeanPostProcessor 接口的类并调用实例化前的方法、进行实例化、调用 applyMergedBeanDefinitionPostProcessors 方法等多…
2023/5/16 18:22:04 人评论 次浏览 -
Spring源码系列一:入门——Hello World
前言 讲解Spring之前,我们首先梳理下Spring有哪些知识点可以进行入手源码分析,比如:Spring IOC依赖注入 Spring AOP切面编程 Spring Bean的声明周期底层原理 Spring 初始化底层原理 Spring Transaction事务底层原理Hello World 通过这些知识点,后续我们慢慢在深入Spri…
2023/4/8 1:22:06 人评论 次浏览 -
常见排序算法总结和 Go 标准库排序源码分析
前言排序算法是数组相关算法的基础知识之一,它们的经典思想可以用于很多算法之中。这里详细介绍和总结 7 种最常见排序算法,并用 Go 做了实现,同时对比这几种算法的时间复杂度、空间复杂度和稳定性 。后一部分是对 Go 标准库排序实现的源码阅读和分析, 理解官方是如何…
2021/3/19 5:11:32 人评论 次浏览 -
PIXI.JS源码解析:Ticker.js
一个渲染引擎如何实现loop方法?一个监听回调队列如何实现添加和删除?监听回调队列先后关系如何实现?如果在监听回调函数中更新队列,本轮回调如何正确地执行?今天我们就借用PIXI.JS的源码来说说以上功能的实现(本文不打算讲解TS,为了方(tou)便(lan)就是用v4版本的代…
2020/12/24 5:38:22 人评论 次浏览 -
这个 29.7 K 的剪贴板 JS 库有点东西!
2020 年即将结束了,不知不觉 源码分析 专题已经写了 9 篇文章,往期的 8 篇文章介绍了 Axios、BetterScroll、koa-compose 和 FileSaver.js 等优秀的开源项目,该专题的每篇文章阿宝哥都花了挺多时间与精力。不过值得欣慰的是,专题中的多篇文章受到了社区小伙伴和公众号…
2020/12/18 14:25:36 人评论 次浏览 -
手写@koa/router源码
上一篇文章我们讲了Koa的基本架构,可以看到Koa的基本架构只有中间件内核,并没有其他功能,路由功能也没有。要实现路由功能我们必须引入第三方中间件,本文要讲的路由中间件是@koa/router,这个中间件是挂在Koa官方名下的,他跟另一个中间件koa-router名字很像。其实@ko…
2020/11/16 14:24:54 人评论 次浏览 -
手写Express.js源码
上一篇文章我们讲了怎么用Node.js原生API来写一个web服务器,虽然代码比较丑,但是基本功能还是有的。但是一般我们不会直接用原生API来写,而是借助框架来做,比如本文要讲的Express。通过上一篇文章的铺垫,我们可以猜测,Express其实也没有什么黑魔法,也仅仅是原生API…
2020/11/2 14:03:44 人评论 次浏览 -
中了源码的毒,给你一副良药
近期阿宝哥在团队内搞了一个 如何读源码 的专题,主要目的是让团队的小伙伴们了解读源码的思路与技巧。在此期间,阿宝哥也写了 77.9K 的 Axios 项目有哪些值得借鉴的地方、从 12.9K 的前端开源项目我学到了啥 和 如何让你的 Express 飞起来 三篇源码解析的文章。其中前两…
2020/10/30 14:03:45 人评论 次浏览 -
Redux异步解决方案之Redux-Thunk原理及源码解析
前段时间,我们写了一篇Redux源码分析的文章,也分析了跟React连接的库React-Redux的源码实现。但是在Redux的生态中还有一个很重要的部分没有涉及到,那就是Redux的异步解决方案。本文会讲解Redux官方实现的异步解决方案----Redux-Thunk,我们还是会从基本的用法入手,再…
2020/10/12 14:03:40 人评论 次浏览 -
吹爆!阿里新产Spring源码高级笔记,原来看懂源码如此简单
Spring的影响力想必无需与大家多说,如果你用spring,那么读读源码有助于对你最重要的工具的理解,好的框架源码也可以帮助我们理解什么是好代码。刚参加工作那会,没想过去读源码,更没想过去改框架的源码;甚至觉得那些有事没事扯源码的人就是在装,只是为了提高他们的逼…
2020/9/28 5:03:56 人评论 次浏览 -
揭秘,Vue3 compile 和 runtime 结合的 patch 过程(源码分析)
前言在上一篇文章中,我们分析了在编译过程静态节点的提升。并且,在文章的结尾也说了,下一篇文章将会介绍 patch 过程。说起「Vue3」的 patch 过程,其中最为津津乐道的就是靶向更新。靶向更新,顾名思义,即更新的过程是带有目标性的、直接性的。而,这也是和静态节点提…
2020/9/24 14:03:44 人评论 次浏览 -
深入Node.js的模块加载机制,手写require函数
模块是Node.js里面一个很基本也很重要的概念,各种原生类库是通过模块提供的,第三方库也是通过模块进行管理和引用的。本文会从基本的模块原理出发,到最后我们会利用这个原理,自己实现一个简单的模块加载机制,即自己实现一个require。本文完整代码已上传GitHub:https…
2020/8/31 14:03:38 人评论 次浏览 -
PM2 源码分析
近期有需求需要了解 PM2 一些功能的实现方式,所以趁势看了一下 PM2 的源码,也算是用了这么多年的 PM2,第一次进入内部进行一些探索。 PM2 是一个 基于 node.js 的进程管理工具,本身 node.js 是一个单进程的语言,但是 PM2 可以实现多进程的运行及管理(当然还是基于 …
2020/8/29 14:03:54 人评论 次浏览 -
手写React-Router源码,深入理解其原理
上一篇文章我们讲了React-Router的基本用法,并实现了常见的前端路由鉴权。本文会继续深入React-Router讲讲他的源码,套路还是一样的,我们先用官方的API实现一个简单的例子,然后自己手写这些API来替换官方的并且保持功能不变。本文全部代码已经上传GitHub,大家可以拿下…
2020/8/10 14:04:30 人评论 次浏览