排序
并发-AQS之ThreadPoolExecutor源码解读
ThreadPoolExecutor是Java中一个线程池的实现类,可以用于管理和调度多个线程执行任务。线程池中维护了一个线程池容量,当有任务需要执行时,线程池中的线程会被分配执行任务,执行完毕后又会返...
【Zookeeper】Apach Curator 框架源码分析:初始化过程(一)【Ver 4.3.0】
介绍 Curator是netflix公司开源的一套zookeeper客户端,目前是Apache的顶级项目。和ZK的原生客户端相比,Curator的抽象层次要更高,同时简化了ZK的常用功能开发量,比如Curator自带连接重试、反...
axios.get()到底做了什么?
前言 相信大家在开发过程中,都使用过 axios 来发送网络请求,那在发送一个网络请求的时候,axios 为我们做了哪些事情呢?本文主要以发送 get 请求为例子,来深入解析一下 axios 的源码。 当然...
2023.27 koa源码-编写miniKoa
大家好,我是wo不是黄蓉,今年学习目标从源码共读开始,希望能跟着若川大佬学习源码的思路学到更多的东西。 可以以通过new关键字创建,说明是个构造函数,也可以用es6的class来实现,内置use 和...
第4节 Spring容器启动源码概览
一、 什么是 Spring 容器 我们通常所说的Spring容器就是 IOC容器,主要用于对所有Bean对象的管理。Spring中的 org.springframework.beans.factory.BeanFactory 就是容器的根接口。 对于BeanFact...
剖析 iOS 内存原理
本文从 Tagged Pointer、objc 源码、dealloc 原理、AutoreleasePool 原理、野指针探究等技术点展开聊了聊 iOS 内存相关问题。 定时器内存泄漏 NSTimer、CADisplayLink 的 基础 API [NSTimer sch...
第13节 Spring源码之 AOP 实例化过程
本篇笔记将重点整理 Spring 是如何解析AOP的配置,并将配置实例化注入到容器中,包括xml配置、注解配置。 一、Aop的简单案例 定义公共业务类 @Service public class PrintMsgService { public S...
并发-AQS之ThreadPoolExecutor源码解读(二)
本文接着上文并发-AQS之ThreadPoolExecutor源码解读(一)继续解读源码 关键方法 shutdown shutdown() 方法的作用是关闭线程池,不再接受新的任务,等待已经提交的任务执行完成 public void sh...
React Hooks 源码解读之 useId
react 版本:v18.3.0 1、Hook 入口 在 React Hooks 源码解读之Hook入口 一文中,我们介绍了 Hooks 的入口及hook处理函数的挂载,从 hook 处理函数的挂载关系我们可以得到这样的等式: 挂载阶段...
SLF4J门面日志框架源码探索 | 京东云技术团队
1 SLF4J介绍 SLF4J即Simple Logging Facade for Java,它提供了Java中所有日志框架的简单外观或抽象。因此,它使用户能够使用单个依赖项处理任何日志框架,例如:Log4j,Logback和JUL(java.util...
最好懂的Nacos核心源码之动态配置服务
最好懂的Nacos核心源码之动态配置服务(一) 本次的源码分享取自笔者在公司的技术分享会,并做了一些改动。 说在前面 很多人都觉得,阅读源码是一种浪费时间的行为,因为本身是没有产出的,就算...
Vue3源码阅读——初始化流程
前言 接着上一篇Vue3带来了哪些更新和优化,本文跟随笔者走进Vue3的源码世界,一同探索Vue3的初始化流程。 ❗️源码中有很多代码是用于处于边缘case的,我们阅读源码先关注主要分支实现的原理,...
React Hooks 源码解读之 useSyncExternalStore
react 版本:v18.3.0 1、useSyncExternalStore 是什么 我们的组件通常会从它们的 props、state 以及 context 读取数据。然而,有时一个组件需要从一些 React 之外的 store 读取一些随时间变化的...
小狐狸学mini-vue(一、响应式模块)
01、集成 jest 测试环境 初始化tsconfig.json 文件 npx tsc --init 编写一个 ts 函数,和编写一个测试用例,并让其通过,使用jest这个库。 安装 jest yarn add --dev jest 因为jest默认使用的是...
Vue3源码阅读——响应式是如何实现的(reavtive篇)
前言 本文属于笔者Vue3源码阅读系列第三篇文章,往期精彩: 生成vnode到渲染vnode的过程是怎样的 组件创建及其初始化过程 响应式源码预计产出两篇文章,本文主要对应reactive部分。主要内容:创...
esbuild源码分析(一)如何构建AST
什么是esbuild esbuild是一款使用go编写的构建速度极快的js打包工具,可以为多种类型的文件提供构建能力,本系列文章将从bundle模式入手逐步分析其构建流程,后续会补充bundless相关内容,并分...
【源码共读】| vant 4 支持暗黑主题
本文参加了由公众号@若川视野 发起的每周源码共读活动,点击了解详情一起参与。 【若川视野 x 源码共读】第41期 | vant 4 正式发布了,支持暗黑主题,那么是如何实现的呢点击了解本期详情一起参...
第12节 Spring源码之 Bean 的循环依赖
循环依赖是 Spring 中经典问题之一,那么到底什么是循环依赖?简单说就是对象之间相互引用, 如下图所示: 代码层面上很好理解,在 bean 创建过程中 class A 和 class B 又经历了怎样的过程呢?...
一看就会的Netty源码
整理下Netty,之前写了几篇博客,翻来翻去太累了,这里我就整理了下整理在了一起,并且,去掉了繁杂了源码解读,demo我也顺便精简了一下,完全当一个备忘录来看,完全没有一点点的源码。方便快...
(六)Spring源码解析:Spring AOP源码解析
〇、AOP概念 Aspect:切面 给业务方法增加到功能,切面泛指交叉业务逻辑。上例中的事务处理、日志处理就可以理解为切面。常用的切面是通知(Advice)。实际就是对主业务逻辑的一种增强。 Pointc...