源码分析

2024/4/12 1:42:23

dubbo 3.2.0 的filterChain 简要分析

dubbo 3.2.0 的filterChain 的核心类是DefaultFilterChainBuilder 。 Builder public class DefaultFilterChainBuilder implements FilterChainBuilder {的buildInvokerChain函数 对于consumer refer Overridepublic <T> Invoker<T> buildInvokerChain(final I…

Spring源码分析 事务 实现原理

文章目录 什么是事务Spring事务管理Spring事务实现原理事务管理器事务定义事务的开启事务核心方法业务代码使用事务TransactionInterceptor 什么是事务 一般所指的事务是数据库事务&#xff0c;是指一批不可分割的数据库操作序列&#xff0c;也是数据库并发控制的基本单位。其…

JUC第十二讲:JUC锁: 锁核心类AQS详解

JUC第十二讲&#xff1a;JUC锁: 锁核心类AQS详解 本文是JUC第十二讲&#xff0c;JUC锁: 锁核心类AQS详解。AbstractQueuedSynchronizer抽象类是核心&#xff0c;需要重点掌握。它提供了一个基于FIFO队列&#xff0c;可以用于构建锁或者其他相关同步装置的基础框架。 文章目录 J…

JUC第十六讲:JUC集合: CopyOnWriteArrayList详解

JUC第十六讲&#xff1a;JUC集合: CopyOnWriteArrayList详解 本文是JUC第十六讲&#xff0c;JUC集合: CopyOnWriteArrayList详解。CopyOnWriteArrayList是ArrayList 的一个线程安全的变体&#xff0c;其中所有可变操作(add、set 等等)都是通过对底层数组进行一次新的拷贝来实现…

Doxygen 源码分析: SymbolMap类

2023-05-21 10:59:35 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz 文章目录 1. Doxygen 版本2. SymbolMap 类概要3. 添加符号: SymbolMap<T>::add()4. 删除符号: SymbolMap<T>::remove()5. 符号查找: SymbolMap<T>::find()6. 哪里用了…

Konva事件机制

前言 不同于HTML或SVG标签可以直接绑定事件&#xff0c;Canvas是使用JavaScript来绘制内容&#xff0c;这意味着其内容没有具体的DOM&#xff0c;所以Canvas渲染引擎都会自己实现一套事件机制。Konva的事件机制支持图形的选中、拖拽等交互处理&#xff0c;同时还支持单个图形对…

Spring源码分析(六)Bean的加载过程

目录 1.1 转换对应beanName1.2 尝试从缓存中加载单例1.3 bean的实例化1.4 原型模式的依赖检查1.5 检测parentBeanFactory1.6 将存储XML配置文件的GernericBeanDefinition转换为RootBeanDefinition1.7 寻找依赖1.8 针对不同的scope进行bean的创建1.1 单例模式实例化1.2 原型模式…

Flutter笔记:滑块及其实现分析1

Flutter笔记 滑块分析1 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134900784 本文从设计角度&#…

Kubernetes Scheduler源码分析

本文是对Kubernetes 1.5的Scheduler源码层面的剖析&#xff0c;包括对应的源码目录结构分析、kube-scheduler运行机制分析、整体代码流程图、核心代码走读分析等内容。阅读本文前&#xff0c;请先了解kubernetes scheduler原理解析。 Kubernetes源码目录结构分析 Kubernetes …

openharmony launcher 调研笔记 01

最近在看launcher&#xff0c;把自己调研的点做个笔记&#xff0c;持续修改更新中&#xff0c;个人笔记酌情参考。 初始化MainAbility ● common 等 包以 三方库形式 被引入使用 在每个包中的oh-package.json5 文件有配置 { "devDependencies": {}, "n…

kube-proxy源码分析

摘要&#xff1a;假设你对kube-proxy的工作原理有一定的了解&#xff0c;本文基于kubernetes v1.5代码对kube-proxy的源码目录结构进行了分析&#xff0c;并以iptables mode为例进行了完整流程的源码分析&#xff0c;给出了其内部实现的模块逻辑图&#xff0c;希望对你深入理解…

Kubernetes默认调度器的优先级与抢占机制

目录 一、优先级和抢占机制解决的问题 1、解决问题 2、如何使用 1) PriotityClass 2) pod使用 二、追踪代码分析优先级和抢占策略 1、优先级和抢占体现 2、调度器的抢占机制 1&#xff09;抢占者调度失败时间点怎么处理&#xff1f; 2) 抢占过程 3&#xff09;抢占后…

hadoop 2.7.3 源码分析(一):环境搭建

序 回头想想自己学习大数据相关的技术已经有很长的时间了&#xff0c;在这段时间里主要学习了hadoop、zookeeper、hbase、kafka、flume、spark、storm等等&#xff0c;有一些在工作当中使用到了(比如zookeeper、hadoop&#xff09;就比较熟悉但大部分都是浅尝辄止没有做深入的…

springboot源码分析5-springboot之命令行参数以及原理

原文地址为&#xff1a; springboot源码分析5-springboot之命令行参数以及原理摘要&#xff1a;本文我们重点分析一下Springboot框架中的命令行参数的使用以及框架内部处理的命令行参数的原理。 众所周知&#xff0c;springboot项目可以有两种方式启动&#xff0c;第一种使用ja…

RecyclerView 调用 notifyItemInserted 自动滚动到底部的问题

项目中发现一个奇怪的现象 RecyclerView 加载完数据以后&#xff0c;调用 notifyItemInserted 方法&#xff0c;RecyclerView 会滑动到底部。 简化后的效果图&#xff1a; 因为这个 RecyclerView 的适配器有一个 FootViewHolder&#xff0c;所以怀疑是 FootViewHolder 的问题…

网络库OKHTTP(2)面试题

序、慢慢来才是最快的方法。 背景 OkHttp 是一套处理 HTTP 网络请求的依赖库&#xff0c;由 Square 公司设计研发并开源&#xff0c;目前可以在 Java 和 Kotlin 中使用。对于 Android App 来说&#xff0c;OkHttp 现在几乎已经占据了所有的网络请求操作。 OKHttp源码官网 问1…

Jetpack之MutableLiveData和LiveData源码分析

先看一下MutableLiveData的源码&#xff0c;它是继承于LiveData,主要是重写了setValue和postValue方法。 上图我们知道这两个方法都是调用了livedata的各自对应的方法&#xff0c;我们点进去看看livedata的这两个方法是protect 的 允许子类和自己调用&#xff0c;而MutableLiv…

webpack4 源码分析(二) webpack-cli

webpack4 源码分析(二) webpack-cli 上一篇我们分析了webpack4的入口&#xff0c;发现最后都是调用了 webpack-cli 这个工具包&#xff0c;本篇将对这个工具包里进一步发生的事情进行分析。 cli.js 这是webpack-cli 的入口文件&#xff0c;我们来看下它的基本结构 (functio…

【从零单排Golang】第十二话:用singleflight解决单服务处理高并发任务的问题

在后端开发场景&#xff0c;我们经常会遇到高并发的事务处理逻辑。虽然在微服务治理的机制下&#xff0c;能够实现多个无状态服务节点负载均衡高并发处理请求&#xff0c;但对于单个服务节点来讲&#xff0c;如果存在某些耗时的任务需要被高并发访问&#xff0c;那么如果没有一…

runC源码分析——Create/Run Container

本文是对runC源码的核心部分——Create Command & Run Command 进行源码分析。 对应的code workflow如下所示&#xff1a; you should make sence these points&#xff1a; runC create command 和 run command的流程入口统一从/runc/utils_linux.go#334 main.startC…

Android greenDa源码分析

greenDao源码架构图&#xff1a; greenDao流程图&#xff1a; 在自定义的Application中对greenDao进行初始化操作&#xff0c;如下&#xff1a; public class App extends Application {private DaoSession daoSession;Overridepublic void onCreate() {super.onCreate();D…

【Android12】WindowManagerService架构分析

Android WindowManagerService架构分析 WindowManagerService(以下简称WMS) 是Android的核心服务。WMS管理所有应用程序窗口(Window)的Create、Display、Update、Destory。 因为Android系统中只有一个WMS&#xff08;运行在SystemServer进程&#xff09;&#xff0c;可以称其为…

60.Sentinel源码分析

Sentinel源码分析 1.Sentinel的基本概念 Sentinel实现限流、隔离、降级、熔断等功能&#xff0c;本质要做的就是两件事情&#xff1a; 统计数据&#xff1a;统计某个资源的访问数据&#xff08;QPS、RT等信息&#xff09; 规则判断&#xff1a;判断限流规则、隔离规则、降级规…

HashMap源码分析总结

HashMap源码剖析 源码jdk版本使用:1.8了解HashMap的朋友都会知道其数据结构是数据和链表&#xff0c;可能再接着深聊就无从下手&#xff0c;今天带着各位深入研究HashMap源码。 (转发请声明) action 在代码开始之前&#xff0c;我们先熟悉一些变量和内部类相关的内容 //de…

Lucene4.3进阶开发之初入仙界(一)

[b][colorred][sizex-large]转载请务必注明&#xff0c;原创地址&#xff0c;谢谢配合! [url]http://qindongliang1922.iteye.com/blog/1980262[/url] [/size][/color][/b] [b][colorolive][sizelarge]Lucene在最近的几个月里已经频繁更新了好几个版本了&#xff0c;越是更新的…

深入理解nginx mp4流媒体模块[中]

上接深入理解nginx mp4流媒体模块[上] 以下对ngx_http_mp4_file_t的结构定义进行说明: typedef struct {ngx_file_t file; # mp4文件对象u_char *buffer; # 用于mp4分析的缓冲区u_char *buffer_start; …

Knot Server XDP原理分析

目录 Knot Server XDP原理分析一、Kernel层代码分析1. kernel层源码的编译2. bpf-kenerl.c源码的分析 二、 User层代码分析 Knot Server XDP原理分析 xdp部分的代码分为Kernel层和User层两部分&#xff0c;Kernel层代码由User层代码调用linux bpf接口加载到网卡内核驱动&#…

Doxygen 源码分析: Definition类

2023-05-21 13:05:28 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz Blog https://blog.csdn.net/baiyu33 文章目录 1. Doxygen 版本2. Definition 类和它的8个子类3. Definition 类的 Private 成员4. Definition 类的 Public 成员4.1 特殊成员函数4.2 获…

深入理解nginx的https alpn机制

目录 1. 概述2. alpn协议的简要理解2.1 ssl的握手过程2.2 通过抓包看一下alpn的细节3. nginx源码分析3.1 给ssl上下文设置alpn回调3.2 连接初始化3.3 处理alpn协议回调3.4 握手完成,启用http协议4.4 总结阅读姊妹篇:深入理解nginx的https alpn机制 1. 概述 应用层协议协商(…

TinyEMU源码分析之虚拟机初始化

TinyEMU源码分析之虚拟机初始化 1 初始化结构参数2 配置RAM地址空间3 初始化设备4 拷贝BIOS和Kernel5 手动写入5条指令6 体验第一条指令的执行 本文属于《 TinyEMU模拟器基础系列教程》之一&#xff0c;欢迎查看其它文章。 本文中使用的代码&#xff0c;均为伪代码&#xff0c…

ARouter 面试题

序、时间于同样的方式留经我们每个人&#xff0c;每个人却以不同的方式对待时间。 前言 一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦 ARouter 1.ARouter启动优化 在做启动优化的时候&#xff0c;发现第一次启动用用时&#xff0c;ARo…

深入理解ngx_http_proxy_connect_module模块(下)

目录 5. 源码分析5.1 模块的初始化代码5.2 请求入口点函数分析5.2.1 ngx_http_proxy_connect_post_read_handler5.2.2 ngx_http_proxy_connect_handler5.3 域名解析回调5.4 向上游服务器发起连接5.4.1 ngx_http_proxy_connect_process_connect5.4.2 ngx_http_proxy_connect_wri…

网络库OKHttp(1)流程

序、慢慢来才是最快的方法。 背景 OkHttp 是一套处理 HTTP 网络请求的依赖库&#xff0c;由 Square 公司设计研发并开源&#xff0c;目前可以在 Java 和 Kotlin 中使用。对于 Android App 来说&#xff0c;OkHttp 现在几乎已经占据了所有的网络请求操作。 OKHttp源码官网 版…

一篇读懂Android Handler机制

Handler简要使用说明&#xff1a; Handler往往使用在android中线程的通信&#xff0c;常见的使用是子线程给主线程发消息&#xff0c;然后更新UI。 但其实Handler还可以使用在任意俩个线程间的通信。 1.子线程向主线程发消息&#xff1a; private Handler mHandler new Handl…

【五】CocosCreator-CCScheduler.js源码分析

PS&#xff1a;只是看源码学习过程中把认为重要的内容以笔记的形式记录下来。 【1】HashTimerEntry&#xff1a;用于保存指定target的事件定时器相关参数的数据结构。 【2】_hashForTimers&#xff1a;targetId作为key&#xff0c;HashTimerEntry【2】对象作为value的hash数组…

nginx flv模块的使用和源码分析

这里写自定义目录标题 1. 为什么需要ngx_http_flv_module2. 配置指令3. 加载ngx_http_flv_module 模块4. 源码分析4.1 指令分析4.2 ngx_http_flv_handler处理函数 5. 如何请求flv进行验证6. 思考 1. 为什么需要ngx_http_flv_module 毋庸多说&#xff0c;就是为了提供在线的http…

(五)、Redisson锁机制源码分析

1、了解分布式锁的特性 1、锁的互斥性 也就是说,在任意时刻,只能有一个客户端能获取到锁,不能同时有两个或多个客户端获取到锁。简单来说,就比如上厕所,一个厕所只有一个坑位,只能一个人上,不能同时两个人或多个人上。2、锁的同一性 也就是说,锁只能被持有该锁的客户端…

Mybatis源码分析-查询机制工作原理

文章目录 前言总体流程图案例代码解析配置文件创建SqlSessionFactory创建SqlSession创建ExecutorMapperProxy代理对象执行SQLResultHandler 前言 本文主要说明Mybatis的查询机制或者工作原理。基于Mybatis独立运行模式&#xff0c;不集成Spring。 Mybatis源码版本为3.5.9。 …

nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和源码分析(中)

目录 6. 源码分析6.1 解析指令分析6.2 待检查的服务器的添加和状态查询6.3 本模块的进程初始化函数6.4 准备执行健康检测任务6.5 执行健康检测任务本篇对ngx_http_upstream_check_module的源码实现进行详细分析。 关于配置和使用部分可以查看上篇:nginx upstream server主动健…

JAVASE进阶:Collection高级(2)——源码剖析ArrayList、LinkedList、迭代器

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;JAVASE进阶&#xff1a;Collection高级&#xff08;1&#xff09;——源码分析contains方法、lambda遍历集合 &#x1f4da;订阅…

【Android12】Monkey压力测试源码执行流程分析

Monkey压力测试源码执行流程分析 Monkey是Android提供的用于应用程序自动化测试、压力测试的测试工具。 其源码路径(Android12)位于 /development/cmds/monkey/部署形式为Java Binary # development/cmds/monkey/Android.bp // Copyright 2008 The Android Open Source Proj…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(4.详解Hash数据结构)

Hash数据结构 看过前面的介绍,大家应该知道 Redis 的 Hash 结构的底层实现在 6 和 7 是不同的,Redis 6 是 ziplist 和 hashtable,Redis 7 是 listpack 和 hashtable。 我们先使用config get hash*看下 Redis 6 和 Redis 7 的 Hash 结构配置情况(在Redis客户端的命令行界面…

nginx_rtmp_module 之 ngx_rtmp_mp4_module 的mp4源码分析

一&#xff1a;整体代码函数预览 static ngx_int_t ngx_rtmp_mp4_postconfiguration(ngx_conf_t *cf) {ngx_rtmp_play_main_conf_t *pmcf;ngx_rtmp_play_fmt_t **pfmt, *fmt;pmcf ngx_rtmp_conf_get_module_main_conf(cf, ngx_rtmp_play_module);pfmt ngx_ar…

Spring源码分析(七)不同作用域下Bean的创建

目录 1.1 单例模式的实例化1.1.1 从缓存中获取1.1.2 前置处理1.1.3 获取Bean1.1.4 后置处理1.1.5 加入缓存 1.2 原型模式实例化1.3 其他模式实例化 官网&#xff1a;Home参考书籍&#xff1a;Spring源码深度解析-郝佳编著-微信读书 上一篇文章我们分析到不同的作用域创建Bean&…

Android 动态式换肤框架1-setContentView源码分析

参考&#xff1a; https://blog.csdn.net/samlss/article/details/81332395 https://blog.csdn.net/csdn_aiyang/article/details/86626748 文章目录1 AppCompatActivity.java2 AppCompatDelegateImpl.java3 LayoutInflater.java在了解动态换肤之前&#xff0c;有必要对setCo…

nginx stream proxy 模块的ssl连接源码分析

目录 1. 源起2. 分析验证环境的配置3. 源码分析3.1 代理模块的请求入口点分析3.2 发起与上游服务器的连接3.3 连接回调3.4 TCP连接建立成功后为上下游数据透传做准备3.5 TCP连接的ssl上下文初始化3.6 ssl握手成功后的处理3.7 连接数据的收与发1. 源起 我一直来对ssl建立连接的过…

Java并发编程第11讲——AQS设计思想及核心源码分析

Java并发包&#xff08;JUC&#xff09;中提供了很多并发工具&#xff0c;比如前面介绍过的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore、FutureTask等锁或者同步部件&#xff0c;它们的实现都用到了一个共同的基类——AbstractQueuedSynchronizer&…

san.js源码解读之模版解析(parseTemplate)篇——readIdent函数

一、源码分析 /*** 读取ident* 这里的 ident 指标识符(identifier)&#xff0c;也就是通常意义上的变量名* 这里默认的变量名规则为&#xff1a;由美元符号($)、数字、字母或者下划线(_)构成的字符串** inner* param {Walker} walker 源码读取对象* return {string}*/ functio…

Vue provide/inject 部分源码分析 实现响应式数据更新

下面是我自己曾经遇到 一个问题&#xff0c;直接以自己QA的形式来写吧 官网给出实例&#xff0c;说本身是不支持数据响应式的&#xff0c; 但是可以传入响应式数据&#xff0c;那么provide,inject就可以实现响应式。 我这里理解应该没错哈&#xff0c;有不对的地方请指出。 我…

Zookeeper断网重连事件回调源码分析

“不积跬步&#xff0c;无以至千里。” 背景 确定使用Curator作为zk客户端的情况下&#xff0c;断网[发生SUSPENDED | LOST事件]重连后每次都会回调org.apache.curator.framework.state.ConnectionStateListener#stateChanged方法&#xff0c;且事件类型为org.apache.curator.…

golang 源码分析之URL编码规范

原文地址为&#xff1a; golang 源码分析之URL编码规范首先看一下url编码规范&#xff1a; backspace %08tab %09linefeed %0Acreturn %0Dspace %20! %21" %22 # %23 $ %24 % %25 & %26 %27 ( %28 ) %29 * %2A …

源码分析_从面试角度分析Java LinkedList源码

注&#xff1a;本系列文章中用到的jdk版本均为java8LinkedList类图如下&#xff1a;LinkedList底层是由双向链表实现的。链表好比火车&#xff0c;每节车厢包含了车厢和连接下一节车厢的连接点。而双向链表的每个节点不仅有指向下一个节点的指针&#xff0c;还有指向上一个节点…

java TreeSet 和 TreeMap 源码解读

目录 一、前言 二、TreeSet详解 1.TreeSet简介 2.TreeSet的底层实现 0 准备工作 1 TreeSet构造器 2 匿名内部类实现接口的多态 3 TreeMap构造器 4 add方法 5 put方法和put方法 6 继续添加元素 7 修改比较器的比较原则 三、TreeMap详解 1.TreeMap简介 2.TreeMap的底层实现 0…

网络库OKHttp(1)流程+拦截器

序、慢慢来才是最快的方法。 背景 OkHttp 是一套处理 HTTP 网络请求的依赖库&#xff0c;由 Square 公司设计研发并开源&#xff0c;目前可以在 Java 和 Kotlin 中使用。对于 Android App 来说&#xff0c;OkHttp 现在几乎已经占据了所有的网络请求操作。 OKHttp源码官网 版…

JUC第二十九讲:JUC工具类: Phaser详解

JUC工具类&#xff1a;Phaser详解 本文是JUC第二十九讲&#xff0c;JUC工具类&#xff1a;Phaser详解。Phaser是JDK 7新增的一个同步辅助类&#xff0c;它可以实现 CyclicBarrier 和CountDownLatch 类似的功能&#xff0c;而且它支持 对任务的动态调整&#xff0c;并支持分层结…

Java集合底层源码剖析-HashMap扩展

文章目录 LinkedHashMap有顺序的map数据结构概述基本属性构造方法Entry定义put()方法get()方法TreeMap 自定义排序规则的红黑树map数据结构put函数源码get获取函数源码如何保证有序性HashSetHashSet如何去重源码分析LinkedHashSetTreeSetIterator迭代器应对多线程并发修改的fai…

Android6.0的SMS(短信)源码分析--短信发送

1 SMS发送流程 1.1 SmsManager Android发送短信的接口可以认为是SmsManager&#xff0c;当然并不是所有的App都可以发送短信的&#xff0c;必须配置相关的权限。App中可以通过SmsManager.getDefault()得到SmsManager的单例。首先来SmsManager主要提供的接口有哪些。 pu…

Android6.0的phone应用源码分析(9)——UICC卡管理

这部分严格来说并不属于phone应用&#xff0c;但是考虑到手机卡与phone应用的密切关系&#xff0c;也就放在同一个系列了。 1.1 UICC卡的各种状态 这些内容一般都被定义在IccCardStatus类中。 首先是卡的状态&#xff1a; public enumCardState { CARDSTATE_ABSENT…

Kubernetes PodGC Controller源码分析

Author: xidianwangtaogmail.com PodGC Controller配置 关于PodGC Controller的相关配置&#xff08;kube-controller-manager配置&#xff09;&#xff0c;一共只有两个&#xff1a; flagdefault valuecomments–controllers stringSlice*这里配置需要enable的controlllers列…

mybatis启动分析

本专辑将介绍mybatis的原理和源码分析。 1、概述 在不使用spring的情况下&#xff0c;我们从官网上可以看到mybatis的使用方法&#xff1a; String resource "org/mybatis/example/mybatis-config.xml"; InputStream inputStream Resources.getResourceAsStream…

HashMap(2)正文源码分析

序、慢慢来才是最快的方法。 1.简介 HashMap的底层结构是基于分离链表发解决散列冲突的动态散列表。 在Java7中使用数组链表&#xff0c;发生散列冲突的键值对会使用头插法添加到单链表中&#xff1b;在Java8中使用数组链表红黑树&#xff0c;发生散列冲突的键值对会用尾插发…

Spring编程常见错误50例-Spring Bean定义常见错误

隐式扫描不到Bean的定义 问题 当启动类放置在com.psj.A包中&#xff0c;控制器类放置在com.psj.B包中时&#xff0c;启动SpringBoot后是扫描不到控制器的 原因 SpringBoot的默认扫描规则是扫描启动类所在的包及其子包中是否存在控制器 解决方式 SpringBootApplication // Com…

源码分析_LiveData源码分析

LiveDataLiveData和RxJava里的Observable类似&#xff0c;可以添加一个订阅者Observer。当LiveData的值发生变化时&#xff0c;Observer可以收到变化的值。所以源码分析主要分析LiveData的订阅和更新数据。RxJava并没有提供与生命周期绑定的方法&#xff0c;一般我们可以通过第…

memcached 源码分析

1.Memcached概述 memcached是一个高性能的分布式内存缓存服务器&#xff0c;memcached在Linux上可以通过yum命令安装&#xff0c;这样方便很多&#xff0c;在生产环境下建议用Linux系统&#xff0c;memcached使用libevent这个库在Linux系统上才能发挥它的高性能。它的分布式其…

linux内存源码分析 - SLAB分配器概述

基于linux 2.6.34 之前说了管理区页框分配器&#xff0c;这里我们简称为页框分配器&#xff0c;在页框分配器中主要是管理物理内存&#xff0c;将物理内存的页框分配给申请者&#xff0c;而且我们知道也可页框大小为4K(也可设置为4M)&#xff0c;这时候就会有个问题&#xff0c…

ijkplayer 源码分析(1):初始化流程

一、ijkplayer 初始化流程 本文是基于 A4ijkplayer 项目进行 ijkplayer 源码分析&#xff0c;该项目是将 ijkplayer 改成基于 CMake 编译&#xff0c;可导入 Android Studio 编译运行&#xff0c;方便代码查找、函数跳转、单步调试、调用栈跟踪等。 初始化完成的主要工作是创建…

HanLP用户自定义词典源码分析详解

1. 官方文档及参考链接 关于词典问题Issue&#xff0c;首先参考&#xff1a;FAQ自定义词典其实是基于规则的分词&#xff0c;它的用法参考这个issue如果有些数量词、字母词需要分词&#xff0c;可参考:P2P和C2C这种词没有分出来&#xff0c;希望加到主词库关于词性标注&#x…

深入理解nginx mp4流媒体模块[上]

目录 1. 引言2. 配置3. 源码分析3.1 配置指令3.1.1 mp43.1.2 mp4_buffer_size3.1.3 mp4_max_buffer_size3.1.4 mp4_start_key_frame 3.2 MP4的请求处理过程3.2.1 预处理3.2.2 找到并打开本地mp4文件3.2.3 解析请求参数3.2.4 MP4文件的处理 1. 引言 在当今数字化时代&#xff0c…

若依— — 快速入门【源码分析】

若依— — 快速入门 1 什么是若依 官网地址&#xff1a;http://www.ruoyi.vip/ 若依是一款优秀的开源项目&#xff0c;涉及到企业开发中大部分的管理系统&#xff0c;我们依此为模板进行二次开发&#xff0c;可以快速开发出符合大部分公司中的后台管理系统。 2 使用若依 使用开…

Spark Sql 转换成Task执行 和 InsertIntoHiveTable写入hive表数据 源码分析

1.3.1 InsertIntoHiveTable类源码解析 1.3.1.1 背景 读取数据&#xff0c;经过处理后&#xff0c;最终写入 hive表&#xff0c;这里研究下写入原理。抛出如下几个问题&#xff1f; 1、task处理完数据后&#xff0c;如何将数据放到表的location目录下&#xff1f; 2、这类写入…

Kubernetes ReplicationController源码分析

虽然在Kubernetes v1.2中&#xff0c;Kubernetes推出了Deployments特性&#xff0c;Deployment通过创建ReplicaSet来管理Pod&#xff0c;ReplicaSet被视为下一代ReplicationController。但实际上ReplicaSet和ReplicationController区别仅仅是其Selector支持的类型不同。 Repli…

Doxygen源码分析: 根目录文件简要介绍

2023-05-18 22:54:02 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz 文章目录 1. doxygen 版本2. 文件介绍DockerfileLICENSE.dockerignore.codedocsVERSION.editorconfigLANGUAGE.HOWTOBUILD.txtINSTALL.gitignoreREADME.mdCMakeLists.txt 1. doxygen 版…

Kubernetes Job Controller源码分析

Author: xidianwnagtaogmail.com, WaltonWangcsdn 摘要&#xff1a;对于一般用户&#xff0c;学习和使用Job&#xff0c;官方文档就足够了&#xff0c;但如果你是个变态&#xff0c;那你总会去想&#xff0c;Job Controller和Deployment Controller在管理Pod上&#xff0c;除了…

Kubernetes HPA Controller源码分析

Author: xidianwangtaogmail.com 源码目录结构分析 HorizontalPodAutoscaler(以下简称HPA)的主要代码如下&#xff0c;主要涉及的文件不多。 cmd/kube-controller-manager/app/autoscaling.go // HPA Controller的启动代码/pkg/controller/podautoscaler . ├── BUILD ├…

Kubernetes Eviction Manager源码分析

摘要&#xff1a;本文作为Kubernetes Eviction Manager工作机制分析的后续篇&#xff0c;主要通过源码分析对其工作机制进行解读。 Kubernetes Eviction Manager介绍及工作原理 这部分内容&#xff0c;请看我的前一篇博文&#xff1a;Kubernetes Eviction Manager工作机制分析…

docker container DNS配置介绍和源码分析

本文主要介绍了docker容器的DNS配置及其注意点&#xff0c;重点对docker 1.10发布的embedded DNS server进行了源码分析&#xff0c;看看embedded DNS server到底是个啥&#xff0c;它是如何工作的。 Configure container DNS DNS in default bridge network OptionsDescrip…

ARouter路由框架

序、时间于同样的方式留经我们每个人&#xff0c;每个人却以不同的方式对待时间。 前言 一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦 1.原理解析 1.1初始化 使用ARouter在进行Activity跳转非常简单&#xff1a;初始化ARouter、添加注…

webpack4 源码分析(一) 入口及webpack.js

webpack4 源码分析(一) 入口及webpack.js 1.命令行入口 一般来说&#xff0c;我们通过 npm run webpack --config xx.js ... 命令来启动webpack。 当我们在命令行运行以上命令后&#xff0c;npm会让命令行工具进入node_modules\.bin 目录查找是否存在 webpack.sh 或者 webpac…

分析finebi5.x仪表板组件获取数据过程(数据是数据集或者sql的)

首先仪表板的公共连接类似:http://localhost:37799/webroot/decision/link/Bo6B 当我们访问这个连接时,会来到FineLinkAction的getShareReport方法。 public String getShareReport(HttpServletRequest req, HttpServletResponse res, @FinePathVariable("linkId"…

hadoop 2.7.3 源码分析(四):namenode启动流程

摘要 通过前边的文章我们已经知道&#xff0c;hadoop namenode启动的类org.apache.hadoop.hdfs.server.namenode.NameNode,本节内容就顺着其启动流程&#xff0c;查看在namenode启动的过程中其都做了哪些工作&#xff08;关于一些技术细节就暂时放过&#xff09;。 启动 我们…

HashMap(1)前传

序、慢慢来才是最快的方法。 背景 终于到HshMap了&#xff0c;Java集合中非常典型的散列表结构&#xff0c;并且具有面试八股文的称号。 在认识HashMap之前&#xff0c;我们先预热一下HashMap所用到的技术点。 1.简介 HashMap的底层结构是基于分离链表发解决散列冲突的动态…

Android6.0的Looper源码分析(1)

1 Looper简介 Android在Java标准线程模型的基础上&#xff0c;提供了消息驱动机制&#xff0c;用于多线程之间的通信。而其具体实现就是Looper。 Android Looper的实现主要包括了3个概念&#xff1a;Message&#xff0c;MessageQueue&#xff0c;Handler&#xff0c;Loo…

springboot源码分析9-random的使用以及原理

原文地址为&#xff1a; springboot源码分析9-random的使用以及原理摘要&#xff1a;springboot框架为我们提供了很多的便利&#xff0c;其中有一个非常有意思的功能&#xff0c;那就是可以通过变量的方式来配置一个随机数random&#xff0c;然后使用random随机出各式各样数值。…

hadoop 2.7.3 源码分析(二):超简单源码修改测试

前言 在上一节中我们搭建起了测试环境&#xff0c;这一节我们根据前边序言中的内容&#xff0c;修改一下nameNode的启动代码看是否生效。 修改代码 在工程 hadoop-hdfs-project中的hadoop-hdfs中找到源文件NameNode.java&#xff08;在包org.apache.hadoop.hdfs.server.name…

JUC第三十讲:JUC工具类:Exchanger详解

JUC工具类&#xff1a;Exchanger详解 本文是JUC第三十讲&#xff0c;JUC工具类: Exchanger详解。Exchanger是用于线程协作的工具类&#xff0c;主要用于两个线程之间的数据交换。 文章目录 JUC工具类&#xff1a;Exchanger详解带着BAT大厂的面试问题去理解Exchanger1、Exchange…

Doxygen源码分析:doxygen执行过程的拆解

Doxygen源码分析&#xff1a;doxygen执行过程的拆解 2023-05-19 23:09:17 ~ 2023-05-20 16:38:13 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz 文章目录 Doxygen源码分析&#xff1a;doxygen执行过程的拆解1. doxygen 版本2. doxygen 可执行程序的入口…

linux内核源码分析笔记

一、内核源码目录结构 1、Linux 内核源代码包括三个主要部分 1&#xff09;内核核心代码&#xff1a;包括linux内核整体架构分析笔记描述的各子系统和子模块&#xff0c;以及其他支撑子系统&#xff0c;如&#xff1a;电源管理、linux初始化等。 2&#xff09;非核心代码&…

Doxygen源码分析: QCString类依赖的qstr系列C函数浅析

2023-05-20 17:02:21 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz 文章目录 1. doxygen 版本2. QCString 类简介3. qstr 系列函数浅析qmemmove()qsnprintfqstrdup()qstrfree()qstrlen()qstrcpy()qstrncpy()qisempty()qstrcmp()qstrncmp()qisspace()qstr…

SwipeRecyclerView开源库源码分析之(一)触摸事件处理分析

1 仓库信息 https://github.com/yanzhenjie/SwipeRecyclerView 2 布局层级分析 定义了一个继承RecyclerView的子类SwipeRecyclerView。在该类中重写了onInterceptTouchEvent方法。其中ItemView为SwipeMenuLayout继承FrameLayout。itemView的布局如下&#xff1a; <?xml…

队列和双端队列源码分析--queue、deque

queue 模板类的定义在<queue>头文件中。与stack 模板类很相似&#xff0c;queue 模板类也需要两个模板参数&#xff0c;一个是元素类型&#xff0c;一个容器类型&#xff0c;元素类型是必要的&#xff0c;容器类型是可选的&#xff0c;默认为deque 类型。定义queue 对象的…

Spring-Kafka生产者源码分析

文章目录 概要初始化消息发送小结 概要 本文主要概括Spring Kafka生产者发送消息的主流程 代码准备&#xff1a; SpringBoot项目中maven填加以下依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent&…

Redisson可重入与锁续期源码分析

一、前言 在跨进程的前提下访问某个共享资源时&#xff0c;需要使用到分布式锁来保证同一时间只有一个进程能够操作共享资源。 这个时候&#xff0c;锁对象需要从单个JVM内存中迁移到某个多进程共用的中间件上&#xff0c;例如MySQL、Redis或ZK上。 我们常常选择Redis来实现…

JAVA设计模式第七讲:设计模式在 Spring 源码中的应用

设计模式&#xff08;design pattern&#xff09;是对软件设计中普遍存在的各种问题&#xff0c;所提出的解决方案。本文以面试题作为切入点&#xff0c;介绍了设计模式的常见问题。我们需要掌握各种设计模式的原理、实现、设计意图和应用场景&#xff0c;搞清楚能解决什么问题…

Spring源码分析(九)Bean实例化的后置处理

目录 1.1 后置处理1.1.1 调用父类方法1.1.2 获取元数据1.1.3 注解元信息检查1.1.4 Member、InjectedElement、InjectionMetadata 官网&#xff1a;Home参考书籍&#xff1a;Spring源码深度解析-郝佳编著-微信读书 上一节我们详细的解释了Bean的创建过程&#xff0c;工厂&#…

并发编程ReentrantReadWriteLock 和 StampLock详解

并发编程ReentrantReadWriteLock 和 StampLock详解 1. 为什么需要读写锁&#xff1f;1.1 读写锁介绍 2. 如何设计一把读写锁&#xff1f;重点&#xff1a;如何保证读写互斥&#xff1f;如何维护两个状态&#xff1f;如果要实现可重入&#xff0c;如何做&#xff1f;写锁读锁 3.…

深入理解nginx的https sni机制

目录 1. 概述2. 初识sni3. nginx的ssl证书配置指令3.1 ssl_certificate3.2 ssl_certificate_key3.3 ssl_password_file4. nginx源码分析4.1 给ssl上下文的初始化4.2 连接初始化4.3 处理sni回调4.2 动态证书的加载5. 总结阅读姊妹篇: 深入理解nginx的https alpn机制 1. 概述 SN…

源码分析_Spring Cloud OpenFeign源码分析

关注“Java艺术”一起来充电吧!本篇内容&#xff1a;为什么使用feign&#xff1f;openfeign源码分析疑问一&#xff1a;openfeign是怎么拿到url的&#xff1f;疑问二&#xff1a;为什么不导入ribbon应用会启动不起来&#xff1f;为什么使用feign&#xff1f;因为我们想像dubbo调…

san.js源码解读之模版解析(parseTemplate)篇——readCall函数

相关文章 san.js源码解读之模版解析(parseTemplate)篇——readAccessor函数 一、源码分析 /*** 读取调用** param {Walker} walker 源码读取对象* param {Array} defaultArgs 默认参数* return {Object}*/ function readCall(walker, defaultArgs) {walker.goUntil(); // 向前…

Flink内核源码(二)组件通信

最近在学习了尚硅谷的Flink内核源码解析&#xff0c;内容很多&#xff0c;因此想要整理学习一下。Flink的版本是1.12.0。 第二章就来从源码层面学习一下Flink的组件通信。 问题整理&#xff1a; 1. Flink组件之间是怎么通信的&#xff1f; 2. Flink中的RPC方法。 Flink 内…

SpringSecurity解决公共接口自定义权限验证失效问题,和源码分析

背景&#xff1a;自定义权限认证&#xff0c;一部分接口必须要有相应的角色权限&#xff0c;一部分接口面向所有访问者&#xff0c;一部分接口任何人都不能访问。但是在使用 SpringSecurity的过程中发现&#xff0c;框架会将没有指定角色列表的URL资源直接放行&#xff0c;不做…

Android源码解析--SystemServer启动流程

1.前言 在整个android系统中&#xff0c;进程的启动流程如下&#xff1a; init进程 –> Zygote进程 –> SystemServer进程 –>各种应用进程 先启动init进程&#xff0c;它是整个linux系统的根进程&#xff0c;接着启动了Zygote进程&#xff0c;它是Android系统的根…

Spring源码分析(八)CreateBean与DoCreateBean

写目录 一 CreateBean二 doCreateBean2.1 BeanWrapper2.2 缓存删除2.3 实例化Bean2.3.1 Supplier创建对象2.3.2 工厂创建对象2.3.3 构造器创建实例无参构造构造器依赖注入Setter的依赖注入autowireConstructor实例化instantiateBean 方法 2.4 Bean的前置处理 官网&#xff1a;H…

Activity中OnDestory()回调慢的原因及解决办法

前言&#xff1a;近日在测试时&#xff0c;发现bug&#xff0c;聊天页面的数据&#xff0c;有时候有&#xff0c;有时候没有。经过查找&#xff0c;原来是这个页面销毁后&#xff0c;很长时间才回调OnDestroy()方法&#xff01;如果在回调OnDestroy()方法之前&#xff0c;又重新…

DependsOn注解失效问题排查

文章目录 前言一、现象描述1.1.背景描述1.2.第一次修改&#xff0c;使用DependsOn注解1.3.第二次修改&#xff0c;设置方法入参 二、看看源码2.1.Spring实例化的源码2.2.调试2.3.验证 总结 前言 最近几天遇到一个比较有意思的问题&#xff0c;发现Spring的DependsOn注解失效&a…

详解Android动态库的加载原理

1、概述 源码版本&#xff1a;android-13.0.0_r41 1.1 Java 加载动态库 Android 应用层加载动态库&#xff0c;只需要执行一行代码即可&#xff1a; System.load("/data/data/libnative-lib.so"); System.loadLibrary("native-lib"); 上面两种方式都是…

ArrayList源码解析及简单自定义ArrayList

ArrayList是我们使用得最多的一个集合类之一&#xff0c;一般用来做包装DTO到view层来显示数据.ArrayList继承了AbstractList类,实现了List,RandomAccess,Cloneable接口 Java代码 public class ArrayList<E> extends AbstractList<E> implements List&l…

基于EventBus3.1.1源码分析

EventBus的使用&#xff1a; 在分析源码前先来回顾一下EventBus怎么用的,开源地址&#xff1a;GitHub 在app项目build.gradle中添加依赖&#xff1a; implementation org.greenrobot:eventbus:3.1.1然后注册订阅者&#xff0c;官方推荐是在onStart和onStop里注册和取消注册 …

vue3 源码解析(4)— createApp 源码的实现

前言 本文是 vue3 源码分析系列的第四篇文章&#xff0c;在使用 vue3 时&#xff0c;我们需要使用 createApp 来创建一个应用实例&#xff0c;然后使用 mount 方法将应用挂载到某个DOM节点上。那么在调用 createApp 时&#xff0c;vue 再背后做了些什么事情呢&#xff1f;在这…

LeakCanary(4)面试题系列

序、慢慢来才是最快的方法。 问题1&#xff1a;LeakCanary 支持Android 场景中的那些内存泄漏监测&#xff1f; 已销毁的 Activity 对象&#xff08;进入 DESTROYED 状态&#xff09;&#xff1b;已销毁的 Fragment 对象和 Fragment View 对象&#xff08;进入 DESTROYED 状态…

ARouter拦截器使用

序、时间于同样的方式留经我们每个人&#xff0c;每个人却以不同的方式对待时间。 前言 一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦 ARouter 1.AOP AOP(Aspect Oriented Programming)面向切面思想&#xff0c;是Spring的三大核心思想之…

【ReentrantLock源码分析】非公平锁的加锁和解锁

一、AbstractQueuedSynchronized 的三个核心成员变量 阐述一下 AQS 中的三个核心成员变量&#xff0c;后面源码分析流程的时候很多地方有。 state&#xff1a;表示锁的状态&#xff0c;0表示锁未被锁定&#xff0c;大于0的话表示重入锁的次数。state 成员变量被 volatile 修饰…

Android startActivity源码分析

文章目录1 Android 6.02 Android 8.01 Android 6.0 Android 6.0 Activity.java 源码地址 //frameworks/base/core/java/android/app/Activity.java 4179 Override 4180 public void startActivity(Intent intent) { 4181 this.startActivity(intent, null); 418…

注解Annotation - Java

文章目录1. 注解分类1.1. 元注解Target&#xff1a;注解修饰的位置Retention&#xff1a;注解对象的存活时间1.2 JDK内置常用注解1.3 自定义注解2. 注解源码分析2.1 Annotation - 注解接口2.2 AnnotationInvocationHandler - 注解真正起作用的对象 - 代理对象、并利用反射理解注…

【Java】ArrayList迭代时remove元素 , 未抛出ConcurrentModificationException异常

在非线程安全的容器迭代时&#xff0c;如果进行add、remove等操作&#xff0c;会引发ConcurrentModificationException并发修改异常 验证很简单&#xff1a; List<String> list new ArrayList<>(); list.add("a"); list.add("b"); list.add…

Java程序员如何月薪达到两万,需要技术水平达到什么程度?

有人说这只能是大企业或者互联网企业工程师才能拿到。也许是的&#xff0c;小公司或者非互联网企业拿两万的不太可能是码农了&#xff0c;应该已经转管理。还有区域问题&#xff0c;这个不在我的考虑范围内&#xff0c;因为除了北上广深杭&#xff0c;其他地方也很难达到。 还有…

JUC第十四讲:JUC锁: ReentrantReadWriteLock详解

JUC第十四讲&#xff1a;JUC锁: ReentrantReadWriteLock详解 本文是JUC第十四讲&#xff1a;JUC锁 - ReentrantReadWriteLock详解。ReentrantReadWriteLock表示可重入读写锁&#xff0c;ReentrantReadWriteLock中包含了两种锁&#xff0c;读锁ReadLock和写锁WriteLock&#xff…

JVM源码分析之Java类的加载过程

HotSpot内存划分 在HotSpot实现中&#xff0c;内存被划分成Java堆、方法区、Java栈、本地方法栈和PC寄存器几个部分&#xff1a;1、Java栈和本地方法栈用于方法之间的调用&#xff0c;进栈出栈的过程&#xff1b;2、Java堆用于存放对象&#xff0c;在Java中&#xff0c;所有对象…

请跟着我的思路来学习-->Android Handler机制

Handler简要使用说明&#xff1a; Handler往往使用在android中线程的通信&#xff0c;常见的使用是子线程给主线程发消息&#xff0c;然后更新UI。 但其实Handler还可以使用在任意俩个线程间的通信。 1.子线程向主线程发消息&#xff1a; private Handler mHandler new Handl…

ThreadLocal机制解读和源码分析

目录 线程数据共享和安全 -ThreadLocal 什么是 ThreadLocal 代码演示 创建Dog.java 创建Pig.java T2DAO.java T2DAO T1解读set T1Service 解读 get ThreadLocalTest这个是换一种法 ThreadLocal 原理分析图 1. ThreadLocal 原理分析图(重点 set 和 get) 线程数据共…

JDK动态代理深入探究

在上一篇文章设计模式之代理模式里&#xff0c;我们说了JDK动态代理类&#xff0c;不过我相信好多人都有疑惑&#xff0c;包括我&#xff0c;刚开始学的时候都是一脸懵逼&#xff0c;那么到底疑惑在哪里呢&#xff1f; 我的疑惑就是这个InvocationHandler的invoke方法到底是有…

java 一文讲透集合框架(10万字博文)

目录 一、前言 二、集合简介 1.定义 : 2.集合与数组的区别 : 3.集合的好处 : 三、集合框架 1.单列集合 2.双列集合 Δ体系图&#xff08;重要&#xff09; 四、List集合详解&#xff08;三万余字&#xff09; 五、Set集合详解&#xff08;三万余字&#xff09; 六、增…

Fragment.onStop的事情

继续承接上一篇文章----Fragment.OnPause的事情&#xff0c;我们知道onPause之后进入的是onStop生命周期方法&#xff0c;那Fragment的onStop方法又干了些什么呢&#xff1f; 还是从Activity入手&#xff0c;相应的入口代码如下&#xff1a; //FragmentActivity.java/*** Disp…

JUC第十三讲:JUC锁: ReentrantLock详解

JUC第十三讲&#xff1a;JUC锁: ReentrantLock详解 本文是JUC第十三讲&#xff0c;JUC锁&#xff1a;ReentrantLock详解。可重入锁 ReentrantLock 的底层是通过 AbstractQueuedSynchronizer 实现&#xff0c;所以先要学习上一章节 AbstractQueuedSynchronizer 详解。 文章目录 …

反射交换两个值的大小引发的思考

发现问题: 最近在学习java的时候在java群里面看到一个问题,就是用反射来实现两个值的交换,然后结果没有按群友的预期去执行.群里的代码如下: 群友想的结果是a1,b2;a2,b1; 然而结果是 然后就觉得很奇怪,交换完以后,a,b都变成了2. 问题探究过程 (和群友一起讨论出来的,…