niginx 源码分析
-
subDomainBrute源码分析
SubDomainsBrute是一款目标域名收集工具 ,用小字典递归地发现三级域名、四级域名、五级域名等不容易被探测到的域名。字典较为全面,小字典就包括3万多条,大字典多达8万条。默认使用114DNS、百度DNS、阿里DNS这几个快速又可靠的公共DNS进行查询,可随时修改配置文件添加
-
zookeeper选举流程源码分析
zookeeper选举流程源码分析 选举的代码主要是在 QuorumPeer.java 这个类中。 它有一个内部枚举类,用来表示当前节点的状态。 LOOKING: 当前节点在选举过程中 FOLLOWING:当前节点是从节点 LEADING: 当前节点是主节点 OBSERVING: 当前节点是观察者状态,这种状态的节点不参与选举的投
-
SpringMVC父子容器源码分析
书接上文 1. Spring整合SpringMVC案例分析 Spring框架和Spring MVC框架是Java开发中常用的两个框架,它们可以很好地结合使用,提供了一个强大而灵活的开发环境。下面是一个简单的案例分析,演示如何整合Spring和Spring MVC。 主配置类 SpringMVC控制器 启动类,初始化Spring容器 web.xml o
-
LinkedList部分底层源码分析
JDK版本为1.8.0_271,以插入和删除元素为例,LinkedList部分源码如下: 插入删除结点的过程如图所示: 只有1个元素的LinkedList 包含4个元素的LinkedList add(E e)方法 add(int index,E e)方法 remove(Object obj)方法 remove(int index)方法
-
openstack nova 源码分析
从 github 下载 Victoria 版本的 Nova 源码 nova/ 文件夹下的目录 最新版的源码如下: nova/ 文件夹下的 python 文件: setup.cfg 配置文件,[entry_points] 小节指定了 nova 各个组件入口 2. nova-api nova-api 对外提供 RESTful API,没有对内的 RPC 。 nova/api/ 目录结构 openstack 目录中包含 WSGI 基础架构的
-
renderdoc源码分析(四) 重放
//TODO 先贴下飞书文档,后续找时间再整理到这 Docs
-
有限域运算(附源码分析)
本文对有关代数学概念仅做简要阐述,更详细介绍请参看相关书籍。 群(Group):集合G与运算 ∘ circ ∘ 满足封闭率、结合律、单位元律、可逆律等性质,即可被称之为群 ( G , ∘ ) (G,circ) (
-
Spring IOC 源码分析
IoC (Inversion of control ) 控制反转。它是一种思想不是一个技术实现。描述的是: Java 开发领域对象的创建以及管理的问题。 例如:现有类 A 依赖于类 B 。传统的开发方式 :往往是在类 A 中手动通过 new 来 new 一个 B 的对象出来使用 IoC 思想的开发方式 :不通过 ne
-
Chromium源码视频播放分析
下载代码,调试方法等见Chromium视频播放相关调试记录_bberdong的博客-CSDN博客 GPU进程 MediaService::CreateInterfaceFactory,然后创建了InterfaceFactoryImpl。 gpu进程收到了一个message创建了一个MojoVideoDecoderService出来 源码路径: media/mojo/services/interface_factory_impl.cc MojoVideoDecoderService创建了一
-
Ribbon 源码分析
断点 LoadBalancerInterceptor LoadBalancerInterceptor 实现了 ClientHttpRequestInterceptor 接口,重写了其中的 intercept 方法,用来拦截请求; 获取原始的 uri 和 服务名,调用 LoadBalancerClient 中的 execute 方法; 追踪 LoadBalancer 的实现 RibbonLoadBalancerClient 这里根据上面传入的服务名字作为服务的
-
RocketMQ源码分析
RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件,既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性,是阿里巴巴双 11 使用的核心产品。 如果想要了解
-
HashMap源码分析
HashMap是Java集合框架中常用的一种数据结构,它是一种基于哈希表实现的映射表.在JDK1.8版本中,HashMap的get方法和put方法的实现与之前版本有些不同,下面我们来逐步分析其源码实现. get方法工作流程如下: 根据key的hashCode计算出在哈希表中的位置 遍历该位置上的链表或树,查找对应
-
Kafka源码简要分析
目录 一、生产者的初始化流程 二、生产者到缓冲队列的流程 三、Sender拉取数据到Kafka流程 四、消费者初始化 五、主题订阅原理 六、消费者抓取数据原理 七、消费者组初始化 八、消费者组消费流程 九、提交offset原理 首先获取事务id和客户端id(用到事物必须要事物id不然报
-
4.netty源码分析
1.pipeline调用handler的源码 //pipeline得到双向链表的头,next到尾部, 2.心跳源码 主要分析IdleStateHandler3个定时任务内部类 //考虑了网络传输慢导致出站慢的情况 //超时重新发送,然后关闭 ReadTimeoutHandler(继承IdleStateHandler 直接关闭连接)和WriteTimeoutHandler(继承ChannelOutboundHandlerAdapter 使用
-
长安链数据存储源码分析
存储模块负责持久化存储链上的区块、交易、状态、历史读写集等账本数据,并对外提供上述数据的查询功能。区块链以区块为单位进行批量的数据提交,一次区块提交会涉及到多项账本数据的提交,比如:交易提交,状态数据修改等,所以存储模块需要维护账本数据的原子
-
Tomcat 8.5 源码分析
获取教程地址 总体架构 Catalina类主要负责 具体的管理类,而Bootstrap类是启动的入口(main方法)。 2.1 Bootstrap#init() 关键步骤 初始化类加载器 设置当前线程的上下文加载器为catalinaLoader 预先加载tomcat、javax包的自定义类 通过反射创建Catalina对象 将startupInstance对象赋值给catalinaDa
-
Vue Router 源码分析?
专栏分享:vue2源码专栏,玩具项目专栏,硬核 💪 推荐 🙌 欢迎各位 ITer 关注点赞收藏 🌸🌸🌸 本篇文章参考版本:vue-router v3.x 最终成果,实现了一个可运行的核心路由工程:柏成/vue-router3.x 目录结构如下: 我们先来看一个基本例子,熟悉其简单的应用配置 通过注入路由
-
Rocketmq 定时消息源码分析
生产者将消息投放到broker后,不会马上被消费者消费。需要等待到特定时间才会被消费。 producer 将定时消息写入commitLog 线程ReputThead 休息1毫秒,读取一次commitlog数据,写入ConsumeQueue和IndexFile 线程ScheduledService 首次延时1秒执行,以后延迟100毫秒执行。职责是将到期的延时消
-
GRBL源码简单分析
结构体说明 GRBL里面的速度规划是带运动段前瞻的,所以有规划运动段数据和微小运动段的区分 这里的“规划运动段”对应的数据结构是plan_block_t,前瞻和加减速会使用到,也就是通过解析G代码后出来的直接直线数据或是圆弧插补出来的拟合直线数据 “微小运动段”对应的
-
Android Retrofit 源码分析
Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装。 网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装。 1)App应用程序通过 Retrofit 请求网络,实际上是使用 Retrofit 接口层封装请求 参数、Header、Url 等信息,之后由 OkHttp 完成后续的请求操作。 2)在服