首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏进阶高级前端工程师

    React源码分析6-hooks源码6

    本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 总结所以我们总结一下 renderWithHooks 这个函数,它所做的事情如下: 图片hooks 源码前面 hooks 的执行入口我们都找到了,现在我们看一下常用的一些 hooks 源码。 updateReducer 的源码如下:function updateReducer<S, I, A>( reducer: (S, A) => S, initialArg: I, init? useCallback & useMemouseCallback 和 useMemo 也是一样,源码结构上十分相似,所以也放在一起来讲。 其他 hook 平时用的比较少,就不在这里展开讲了,但通过上面几个 hook 的源码讲解,其他 hook 看源码你应该也能看得懂。

    80250编辑于 2023-01-10
  • 来自专栏Java架构师必看

    spring源码分析6

    spring源码分析6 强烈推介IDEA2020.2破解激活,IntelliJ

    31020发布于 2021-04-13
  • 来自专栏进阶高级前端工程师

    React源码分析6-hooks源码

    本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 总结所以我们总结一下 renderWithHooks 这个函数,它所做的事情如下: 图片hooks 源码前面 hooks 的执行入口我们都找到了,现在我们看一下常用的一些 hooks 源码。 updateReducer 的源码如下:function updateReducer<S, I, A>( reducer: (S, A) => S, initialArg: I, init? useCallback & useMemouseCallback 和 useMemo 也是一样,源码结构上十分相似,所以也放在一起来讲。 其他 hook 平时用的比较少,就不在这里展开讲了,但通过上面几个 hook 的源码讲解,其他 hook 看源码你应该也能看得懂。

    74630编辑于 2022-11-30
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析:cayley(6)

    接着分析memstore中索引的具体实现,它的B+树不是自己实现的,而是引用了一个第三方包,首先我们看下gen.go,它里面其实是运行来Makefile命令 package memstore ctx context.Context, d quad.Direction, v graph.Ref) (graph.Size, error) { id, ok := asID(v) 类似mysql的分析

    29420编辑于 2023-08-09
  • 来自专栏golang算法架构leetcode技术php

    kratos源码分析系列(6

    直接获取当前节点:selector/node/direct/direct.go

    83610编辑于 2023-09-06
  • golang源码分析 :gopls(6

    初始化完StreamServer后我们看看它是如何基于标准输入输出提供服务的。首先调用了golang.org/x/tools/internal/fakenet/conn.go

    10910编辑于 2026-03-18
  • golang源码分析:langchaingo(6

    前面介绍langchaingo都是简单应用没有聊到它的核心处理流程,链式处理,这里还是结合例子详细分析下它的源码: // 将输入翻译为特定语言 chain1 := chains.NewLLMChain 这里还是依次介绍下源码

    11910编辑于 2026-03-18
  • 来自专栏狗哥的 Java 世界

    Java 并发(6)Semaphore 源码分析

    可以看到 acquire 方法里面直接就是调用 sync.acquireSharedInterruptibly (1),这个方法是 AQS 里面的方法,我们在讲 AQS 源码系列文章的时候曾经讲过,现在我们再来回顾一下

    38410发布于 2020-04-07
  • 来自专栏软件设计

    6.S0816.828: xv6源码分析--networking

    xv6使用的是以太网PCI控制器,支持DMA。DMA可以将设备和CPU解耦,并且DMA队列能够支持突发流量,CPU设置内存地址后设备直接将数据写入到该地址内,不经过CPU。 2 Ethernet#define ETHADDR_LEN 6// an Ethernet packet header (start of the packet).struct eth { uint8 主要方式是TCP、UDP,xv6目前支持UDP。 (m, sip, dport, sport); return;fail: mbuffree(m);}图片源端口是0x07d0,目的端口是0x6403,长度是0x001b,checksum是0,xv6的 0x12, 0x34, 0x56 };static uint8 broadcast_mac[ETHADDR_LEN] = { 0xFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF };二、源码分析

    1.3K00编辑于 2022-11-26
  • 来自专栏后端云

    client-go 源码分析6) - DeltaFIFO

    DeltaFIFO也包含在 Informer 中。DeltaFIFO 是 Delta + FIFO(先进先出队列),Delta的数据格式如下。DeltaType是String的类型,只有四种,分别是增加,更新,删除,同步。作为FIFO,有push和pop方法。

    51430编辑于 2023-02-10
  • 来自专栏进阶高级前端工程师

    React源码分析5-commit6

    前两章讲到了,react 在 render 阶段的 completeUnitWork 执行完毕后,就执行 commitRoot 进入到了 commit 阶段,本章将讲解 commit 阶段执行过程源码。 insertOrAppendPlacementNode(finishedWork, before, parent); }}判断当前节点是否为单节点我们以 insertOrAppendPlacementNodeIntoContainer 为例看一下其源码 container; parentNode.appendChild(child); } // ...}这几步都是以 insertOrAppendPlacementNodeIntoContainer 为例看源码 return; } case Profiler: { return; } // ...}更新 HostComponent根据上面的 commitWork 的源码

    52520编辑于 2023-01-10
  • 来自专栏码农知识点

    zookeeper源码分析(6)-数据和存储

    本文主要分析服务器启动时内存数据库的初始化过程和主从服务器数据同步的过程。在此之前介绍一些数据存储涉及的基本类。 preAllocSize,默认为64MB,并将未写入部分填充0,好处是避免开辟新的磁盘块,减少磁盘Seek 3.事务序列化 分别对事物头(TxnHeader)和事务体(Record)序列化,参考zookeeper源码分析 回到zookeeper源码分析(1)-服务端启动流程,在服务器启动时,需要先初始化FileTxnSnapLog和初始化 ZKDatabase 1.初始化FileTxnSnapLog public FileTxnSnapLog 5.应用事务 在循环过程中处理事务日志processTransaction,也就是根据事务日志类型不断的更新sessions 和DataTree中的数据内容 6.回调事务 回调listener.onTxnLoaded 由zookeeper源码分析(4)-选举流程和服务器启动处理可知,当LearnerHandler接收到Learner服务器的ACKEPOCH消息后会开始进行主从同步 Leader数据同步发送过程 LearnerHandler.run

    2.1K10发布于 2020-06-22
  • 来自专栏软件设计

    6.S0816.828: xv6源码分析--页表

    在实现6.S081 Lab3过程中,需要对xv6页表有一定的掌握,因此写了这份源码分析。 二、main源码分析1 启动分析// start() jumps here in supervisor mode on all CPUs.voidmain(){ if(cpuid() == 0){ kmem.freelist = r; release(&kmem.lock);}3 内核页表初始化初始化一个全局的内核页表,会将各个设备寄存器、CPU寄存器、内核代码段、数据段等直接映射到固定位置,具体可以看下一节内核页表源码分析 NPROC]; p++) { initlock(&p->lock, "proc"); p->kstack = KSTACK((int) (p - proc)); }}三、内核页表源码分析 )) >> PXSHIFT(level)) & PXMASK)//先左移掉10位标志位,再右移流出页內偏移#define PTE2PA(pte) (((pte) >> 10) << 12)四、用户页表源码分析

    1.3K40编辑于 2022-11-26
  • 来自专栏软件设计

    6.S0816.828: xv6源码分析--trap机制

    */ uint64 a2; /* 136 */ uint64 a3; /* 144 */ uint64 a4; /* 152 */ uint64 a5; /* 160 */ uint64 a6; */ uint64 s2; /* 184 */ uint64 s3; /* 192 */ uint64 s4; /* 200 */ uint64 s5; /* 208 */ uint64 s6; */ uint64 s11; /* 256 */ uint64 t3; /* 264 */ uint64 t4; /* 272 */ uint64 t5; /* 280 */ uint64 t6; sd a2, 128(a0) sd a3, 136(a0) sd a4, 144(a0) sd a5, 152(a0) sd a6, 6 usertrapret执行完syscall后就会调用usertrapret函数,它的主要流程是:关中断。设置stvec为uservec,便于下次从用户态到内核态的切换处理。

    1.4K52编辑于 2022-11-26
  • 来自专栏进阶高级前端工程师

    React源码分析6-hooks源码_2023-02-21

    本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 总结所以我们总结一下 renderWithHooks 这个函数,它所做的事情如下: 图片hooks 源码前面 hooks 的执行入口我们都找到了,现在我们看一下常用的一些 hooks 源码。 updateReducer 的源码如下:function updateReducer<S, I, A>( reducer: (S, A) => S, initialArg: I, init? useCallback & useMemouseCallback 和 useMemo 也是一样,源码结构上十分相似,所以也放在一起来讲。 其他 hook 平时用的比较少,就不在这里展开讲了,但通过上面几个 hook 的源码讲解,其他 hook 看源码你应该也能看得懂。

    96330编辑于 2023-02-21
  • 来自专栏音视频开发技术

    ffplay源码分析6-音频重采样

    6. 音频重采样 FFmpeg解码得到的音频帧的格式未必能被SDL支持,在这种情况下,需要进行音频重采样,即将音频帧格式转换为SDL支持的音频格式,否则是无法正常播放的。 SDL_AudioSpec wanted_spec, spec; const char *env; static const int next_nb_channels[] = {0, 0, 1, 6, 2, 6, 4, 6}; static const int next_sample_rates[] = {0, 44100, 48000, 96000, 192000}; int next_sample_rate_idx * 4: FL FR BL BR (quad) * 5: FL FR FC BL BR (quad + center) * 6: _5POINT1_BACK|AV_CH_BACK_CENTER) #define AV_CH_LAYOUT_6POINT1_FRONT (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY

    1.9K30发布于 2019-04-02
  • 来自专栏程序随笔

    聊聊ChatGLM-6B的源码分析

    基于ChatGLM-6B第一版,要注意还有ChatGLM2-6B以及ChatGLM3-6B 转载请备注出处:https://www.cnblogs.com/zhiyong-ITNote/ PrefixEncoder 其源码如下,整体来看是比较简单的。 else: past_key_values = self.embedding(prefix) return past_key_values 为什么源码注释中会说到 从源码分析来看,GLU/MLP类就是构造了两个线性层与gelu激活函数,其结构可简化如下: 从PrefixEncoder类的初始化方法来看,其就是embedding层与MLP的组合。

    89810编辑于 2024-01-09
  • 来自专栏webpack@4.46.0源码分析

    6. 「snabbdom@3.5.1 源码分析」总结

    通过pacth过程中的各种钩子,和vnode.data提供的自定义数据(class/style/dataset等等)来拦截并做出相应处理。在diff过程中DOM的class/style/attributes等等都是交给模块处理,diff本身只关心的树结构,节点是否可以复用,如果不能复用就会通过createElm/setTextContent来创建新的元素

    25420编辑于 2023-02-24
  • 来自专栏程序随笔

    聊聊ChatGLM-6B源码分析(二)

    基于ChatGLM-6B第一版,要注意还有ChatGLM2-6B以及ChatGLM3-6B 转载请备注出处:https://www.cnblogs.com/zhiyong-ITNote/ ChatGLMPreTrainedModel past_key_values] return past_key_values @add_start_docstrings_to_model_forward(CHATGLM_6B_INPUTS_DOCSTRING.format 相比较传统的Transformer模型结构,ChatGLM模型中,将GLMBlock统一了两者,只需要增加is_decoder=true即可切换为decoder行为,在ChatGLMModel源码的注释中就已经写清楚了

    65110编辑于 2024-01-13
  • 来自专栏JUC并发原理与源码

    JUC并发—6.AQS源码分析

    ReentractReadWriteLock3.ReentractReadWriteLock如何竞争写锁4.ReentractReadWriteLock如何竞争读锁5.ReentractReadWriteLock的公平锁和非公平锁6. ReentrantReadWriteLock中的锁降级7.Condition的说明介绍8.Condition的源码实现1.ReentractReadWriteLock的基本原理(1)读锁和写锁关系表面上读锁和写锁是两把锁 = null; } ...}6.ReentrantReadWriteLock中的锁降级(1)什么是ReentrantReadWriteLock中的锁降级(2)ReentrantReadWriteLock (); System.out.println("第二个线程释放锁"); }; }.start(); }}8.Condition的源码实现

    18910编辑于 2025-04-24
领券