源码分析

Golang源码分析之golang/sync之singleflight

目录 1.背景 1.1. 项目介绍 1.2.使用方法 2.源码分析 2.1.项目结构 2.2.数据结构 2.3.API代码流程 3.总结 1.背景 1.1. 项目介绍 golang/sync库拓展了官方自带的sync库,提供了errgroup、semaphore、single »

React commit源码分析详解

目录 总览 commitBeforeMutationEffects commitMutationEffects 插入 dom 节点 获取父节点及插入位置 判断当前节点是否为单节点 在对应位置插入节点 更新 dom 节点 更新 HostComponent 更新 HostText 删除 do »

Java定时器Timer的源码分析

目录 一、TimerTask 1. 任务状态 2. 任务属性说明 3. 任务方法说明 二、Timer 1. sched方法 2. cancel方法 3. purge方法 三、TaskQueue 四、TimerThread 通过源码分析,我们可以更深入的了解其底层原理。 对于JDK »

【lwip】07-链路层收发以太网数据帧源码分析

前言 参考lwip的ethernet.c和ethernet.h文件。 原文:李柱明博客园 7.1 链路层概述 简单概述。 相关术语: 结点(node):运行链路层协议的设备。如主机、路由器、交换机和WiFi接入点。 链路(link):沿着通信路径连接相邻结点的通信信道。 数据帧:链路层每一帧数据包s ... »

vue使用源码分析

本篇内容主要讲解“vue使用源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue使用源码分析”吧! 生命周期 1.0版本 1.哪些生命周期接口 init Created beforeCompile Compiled Ready Atta »

Vue3 源码分析reactive readonly实例

目录 引言 一、reactive 和 readonly 1. reactive相关类型 2. 相关全局变量与方法 3. reactive函数 4. 造物主createReactiveObject 5. shallowReactive、readonly和shallowReadonly 二、对应的 »

Vue3源码分析组件挂载初始化props与slots

目录 前情提要 本文主要内容 初始化组件 (1).setupComponent (2).initProps (3).initSlots 额外内容 总结 前情提要 上文我们分析了挂载组件主要调用了三个函数: createComponentInstance(创建组件实例)、setupC »

Vue3源码分析组件挂载创建虚拟节点

目录 前情提要 1. Mount函数 2. 创建虚拟节点的几个方法 (1) createVNode:用于创建组件的虚拟节点 (2) createElementVNode:用于创建普通tag的虚拟节点如<div></div> (3) createCommentVNode:用 »

认识 Redis client-output-buffer-limit 参数与源码分析

概述 Redis 的 client-output-buffer-limit 可以用来强制断开无法足够快从 redis 服务器端读取数据的客户端。保护机制规则如下: [hard limit] 大小限制,当某一客户端缓冲区超过设定值后,直接关闭连接。 [soft limit] 持续时间限制,当某一客户端 ... »

immaxfang

通过源码分析Golang cron的实现原理

目录 前言 Demo示例 源码实现 结构体 Cron 和 Entry New()实现 AddFunc()实现 Start()实现 Run()实现 Stop()实现 Remove()实现 小结 前言 golang实现定时任务很简单,只须要简单几步代码即可以完成,最近在做了几个定时任务, »

从源码分析 MGR 的流控机制

Group Replication 是一种 Shared-Nothing 的架构,每个节点都会保留一份数据。 虽然支持多点写入,但实际上系统的吞吐量是由处理能力最弱的那个节点决定的。 如果各个节点的处理能力参差不齐,那处理能力慢的节点就会出现事务堆积。 在事务堆积的时候,如果处理能力快的节点出现了故 ... »

ivictor MySQL

从源码分析 MGR 的新主选举算法

MGR 的新主选举算法,在节点版本一致的情况下,其实也挺简单的。 首先比较权重,权重越高,选为新主的优先级越高。 如果权重一致,则会进一步比较节点的 server_uuid。server_uuid 越小,选为新主的优先级越高。 所以,在节点版本一致的情况下,会选择权重最高,server_uuid 最 ... »

ivictor MySQL

java并发包工具CountDownLatch源码分析

目录 一:简述 二:什么是CountDownLatch 三:CountDownLatch的使用 四:CountDownLatch原理分析 构造函数 await()方法: doAcquireSharedInterruptibly() 1. 当前节点的前置节点是head节点 2. 当前节点的前置节 »

Golang Mutex互斥锁源码分析

目录 前言 Mutex 特性 数据结构 Lock() Unlock() 前言 在上一篇文章中,我们一起学习了如何使用 Go 中的互斥锁 Mutex,那么本篇文章,我们就一起来探究下 Mutex 底层是如何实现的,知其然,更要知其所以然! 说明:本文中的示例,均是基于Go1.17 64位机 »

SpringBoot请求处理之常用参数注解介绍与源码分析

目录 一、注解 2、注解生效相关源码分析 3、Servlet API 4、复杂参数 5、自定义参数 6、类型转换器Converters 一、注解 @PathVariable:将请求url中的占位符参数与控制器方法入参绑定起来(Rest风格请求) @RequestHeader:获取请求头中 »

SpringBoot拦截器与文件上传实现方法与源码分析

目录 一、拦截器 1、创建一个拦截器 2、配置拦截器 二、拦截器原理 三、文件上传 四、文件上传流程 一、拦截器 拦截器我们之前在springmvc已经做过介绍了 大家可以看下【SpringMVC】自定义拦截器和过滤器 为什么在这里还要再讲一遍呢? 因为spring boo »

Vue中render函数调用时机与执行细节源码分析

目录 背景 解析 从$mount方法开始 mountCompenent发生了什么? render函数的调用细节 第一个参数:vm._renderProxy 第二个参数:vm.$createElement 结论 背景 摸鱼的时候看到有网友说面试问到了render函数和beforeMou »

【Spring boot】启动过程源码分析

启动过程结论 推测web应用类型。 spi的方式获取BootstrapRegistryInitializer、ApplicationContextInitializer、ApplicationContextInitializer对象。 通过调用栈推测出main()方法所在的类。 调用启动方法:run ... »

spring cron表达式源码分析

spring cron表达式源码分析 在springboot中,我们一般是通过如下的做法添加一个定时任务 上面的new CronTrigger("0 * * * * *")中的参数0 * * * * *就是cron表达式了。 这里主要是对cron表达式的源码进行分析,其他内容不再展开了。 这能看到会 ... »

wbo112