首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Netty应用与源码

    Netty源码9.性能优化和设计模式二

    7.Recycler的使用8.Recycler的四个核心组件9.Recycler的初始化10.Recycler的对象获取11.Recycler的对象回收12.异线程收割对象13.Recycler的总结14 .Netty设计模式之单例模式15.Netty设计模式之策略模式16.Netty设计模式之装饰器模式17.Netty设计模式之观察者模式18.Netty设计模式之迭代器模式19.Netty设计模式之责任链模式 (3)对象池的设计核心为什么要分同线程和异线程进行处理,并设计一套比较复杂的数据结构?因为对象池的使用场景一般是高并发的环境,希望通过对象池来减少对象的频繁创建带来的性能损耗。 checkNotNull(channel, "channel"); } ...}TailContext父类AbstractChannelHandlerContext的writeAndFlush()方法执行源码 null : logger); } ...}DefaultPromise添加观察者和通知观察者的源码如下。

    23400编辑于 2025-06-16
  • 来自专栏Netty应用与源码

    Netty源码9.性能优化和设计模式一

    FastThreadLocal的实现之构造方法3.FastThreadLocal的实现之get()方法4.FastThreadLocal的实现之set()方法5.FastThreadLocal的总结6.Recycler的设计理念 7.Recycler的使用8.Recycler的四个核心组件9.Recycler的初始化10.Recycler的对象获取11.Recycler的对象回收12.异线程收割对象13.Recycler的总结14 .Netty设计模式之单例模式15.Netty设计模式之策略模式16.Netty设计模式之装饰器模式17.Netty设计模式之观察者模式18.Netty设计模式之迭代器模式19.Netty设计模式之责任链模式 6.Recycler的设计理念(1)对象池和内存池都是为了提高并发处理能力(2)Recycler是Netty实现的轻量级对象池(1)对象池和内存池都是为了提高并发处理能力Java中频繁创建和销毁对象的开销是很大的 IllegalStateException("recycled already"); } stack.push(this); } } ...}9.

    26400编辑于 2025-06-16
  • 来自专栏Java架构师必看

    spring源码分析9

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

    42720发布于 2021-04-13
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析(9)调度

    现在已经有太多的文章来介绍goroutine的用法,在这里,我们从源码的角度来看看其内部实现。 总结 相比大多数并行设计模型,Go比较优势的设计就是P上下文这个概念的出现,如果只有G和M的对应关系,那么当G阻塞在IO上的时候,M是没有实际在工作的,这样造成了资源的浪费,没有了P,那么所有G的列表都放在全局

    54720编辑于 2022-08-02
  • 来自专栏kk大数据

    Spark 源码9)- Worker 启动 Executor 源码阅读

    上一次阅读到 Master 调用 schedule() 方法,遍历 waitingApps,为每个程序决定启动多少 Executor,为每个 Executor 分配多少资源,有了这些信息之后,给 Worker 发送了一个 LaunchExecutor 消息,Worker 开始处理。

    81820发布于 2021-11-16
  • golang源码分析:langchaingo(9

    前面介绍了单独的匹配,如果把这个匹配过程接入到LLM,就是完整的RAG,即检索增强生成。我们先看看上一个例子还没介绍的最后几行代码

    6310编辑于 2026-03-18
  • 来自专栏Postgresql源码分析

    Postgresql源码9)Xlog注册

    注册数据页面相关信息 注册数据页面相关信息 注册数据页面相关信息 一个页面用一个槽位 一个页面用一个槽位 一个页面用一个槽位 一个槽位对一个registered_buffer 一个槽位对一个registered_buffer 一个槽位对一个registered_buffer

    40620编辑于 2022-07-16
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析:cayley(9)

    中间使用到了goja解析器,它的作用是在golang环境中翻译执行javascript,因为我们的gizmo采用的是javascript语法。

    33720编辑于 2023-08-09
  • golang源码分析 :gopls(9

    最后我们来到了第三部分featureCommands,也是所有命令的大头,这里一共初始化了23个命令。我们首先看下第一个callHierarchy

    9410编辑于 2026-03-18
  • 来自专栏纸上得来终觉浅

    libuv源码阅读(9)--interfaces

    先看用例源码: #include <stdio.h> #include <uv.h> int main() { char buf[512]; uv_interface_address_t

    74510发布于 2021-03-12
  • 来自专栏漫漫架构路

    Spring源码学习笔记(9)——AOP

    Spring源码学习笔记(9)——AOP 一. 基于注解的AOP开发 AOP的定义及一些术语相信大家已经很熟悉了,这里不再赘述。下面演示基于注解的Spring AOP开发。 AOP源码分析 在上面的实例中,使用@EnableAspectJAutoProxy注解就可以开启自动代理功能,那么该功能是如何实现的呢? 首先看@EnableAspectJAutoProxy源码: @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented

    46420发布于 2020-09-03
  • 来自专栏狗哥的 Java 世界

    Java 并发(9)ConcurrentHashMap 源码分析

    我们知道哈希表是一种非常高效的数据结构,设计优良的哈希函数可以使其上的增删改查操作达到 O (1) 级别。 9. 自旋时具体做了些什么?

    83910发布于 2020-04-15
  • 来自专栏码农知识点

    zookeeper源码分析(9)-Curator相关介绍

    zookeeper常用的Java客户端有三种:zookeeper原生的、Apache Curator、开源的zkclient。Curator官网上这么说

    2.6K30发布于 2020-06-22
  • 来自专栏react源码分析

    react源码解析9.diff算法

    key="1">1

    </> ); const b = ( <>

    1

    0

    </> );在源码中多节点

    25650编辑于 2022-12-14
  • 来自专栏Postgresql源码分析

    Postgresql源码9)PinUnpinBuffer流程图

    流程图 私有缓存的维护 等待进程唤醒 拿的锁在state中的一位,原子操作 spin等锁 PinBuffer static bool PinBuffer(BufferDesc *buf, BufferAccessStrategy strategy) { Buffer b = BufferDescriptorGetBuffer(buf); bool result; PrivateRefCountEntry *ref; ref = GetPrivateRefCountEntry(b, true

    29120编辑于 2022-05-12
  • 来自专栏Lvshen的技术小屋

    设计模式9之命令模式

    一般来说,命令模式结合其他设计模式,会有更好的效果。 但是命令模式中Command也不能无限扩展,如果有N个命令,那就会有N个Command子类,这样也不是很好。

    29710编辑于 2022-05-05
  • 来自专栏Zephery

    Tomcat9源码——编译环境搭建

    Readme Tomcat 9 源码要求: 1.jdk1.8+ 步骤 1.直接下载源码

    2.解压后打开文件夹,新建pom.xml,输入下面的东西 <modelVersion>4.0.0</modelVersion> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat9< /artifactId> <name>tomcat9</name> <version>9.0</version> <build> <finalName>tomcat9

    2.3K110发布于 2018-03-12
  • 来自专栏技术杂货店

    java集合【9】-- Vector接口源码解析

    [20201105233415.png] 定义源码如下: public class Vector<E> extends AbstractList<E> implements List<E 这是一个传统的类,但它在Java 2中被完全重新设计。 因为它们相当于后移了 cursor = i + 1; lastRet = -1; } } 6.3 VectorSpliterator 直接看源码

    65800发布于 2020-11-22
  • 来自专栏后端技术

    系统设计与分析 作业9

    使用ECB实现 make reservation用例的详细设计(包含用例简介,顺序图,类图) 1.1 用例简介 该用例完成用户订购酒店的整体过程。 用户可搜索酒店,得到搜索表单。 将逻辑设计类图映射到实际项目框架的包图。用树形结构表述实现的包和类

    43240发布于 2019-05-25
  • 来自专栏用户8771298的专栏

    react源码解析9.diff算法

    react源码解析9.diff算法 视频讲解(高效学习):进入学习 往期文章: 1.开篇介绍和面试题 2.react的设计理念 3.react源码架构 4.源码目录结构和调试 5.jsx&核心api 6 .legacy和concurrent模式入口函数 7.Fiber架构 8.render阶段 9.diff算法 10.commit阶段 11.生命周期 12.状态更新流程 13.hooks源码 14.手写 // 删除节点 return deleteRemainingChildren(returnFiber, currentFirstChild); } diff过程的主要流程如下图: react源码 =2不需要移动,lastPlacedIndex=3 newChild中第四个位置的B在oldFiber中的index=1 < lastPlacedIndex=3,移动到最后 看图更直观 react源码 < lastPlacedIndex=3,移动到最后 newChild中第四个位置的C在oldFiber中的index=2 < lastPlacedIndex=3,移动到最后 看图更直观 react源码

    35030编辑于 2021-12-02
领券