SkyWalking 没硬编码指标聚合,而是发明了四门 DSL:OAL 算指标、MAL 算 meter、LAL 算日志、MQE 做查询表达式。这篇讲它们怎么用 ANTLR 解析 + Javassist 运行时生成字节码,把声明式规则变成运行中的处理类。重点拆 OAL——一行 from(Service.latency).longAvg() 怎么变成一个 JVM class,为什么 SkyWalking 要为一类指标发明一门语言。...
OAP 怎么收数据?答案是一堆 receiver 插件,每个对应一种协议。这篇先讲贯穿所有 receiver 的共同机制(共享服务器 + Source/Dispatcher 总线),再按协议大类分组讲每个插件:原生 gRPC、OTLP、Zipkin、Envoy ALS、Kafka 拉取。读完你分得清 trace/jvm/log/meter/otel/zipkin/envoy 各自怎么进来、差别在哪、什么时候用 push 什么时候用 pull。...
OAP 后端几十个模块怎么拼成一个可运行的整体?SkyWalking 没用 Spring,自己写了一套极简模块框架:ModuleDefine(契约)+ ModuleProvider(实现)+ 标准 Java SPI 发现 + 拓扑排序启动。这篇拆解这套骨架,跟一遍 OAP 的 main 启动流程,最后看 CoreModule 这个"大脑"里装了什么。理解了它,后面所有模块的代码都能对号入座。...
Apache SkyWalking 是国内最成熟的开源 APM 系统。这篇顺着一条 trace 从 Agent 上报到 UI 展示的完整旅程,把 OAP 后端的接收、解析、规则编译、聚合、存储、查询六大层串一遍,建立全局观。读完你能回答:数据从哪来、中间被谁加工、最后落到哪、怎么被查出来。后面 11 篇都是这条链上某一环的放大。...
力扣官方精选 150 题,按 21 个专题整理。每题:思路脉络 + Mermaid 图 + Java 代码 + 复杂度 + 易错点。 ...
LeetCode 热题 100 · Java 题解[!abstract] 这份笔记是什么力扣站内刷题发烧友投票最多的 100 道题,按 17 个专题整理。每题给:思路脉络(为什么这么想)+ Mermaid 图 + 可跑的 Java 代码 + 复杂度 + 易错点。目标是建立"代码思维&quo...
敏感词检测https://github.com/houbb/sensitive-word.git汉字转拼音https://github.com/houbb/pinyin中文分词https://github.com/houbb/segment简繁转换https://github.com/houbb/o...
垃圾收集算法标记-清除将存活的对象进行标记,然后清理掉未被标记的对象。不足:标记和清除过程效率都不高;会产生大量不连续的内存碎片,导致无法给大对象分配内存。标记-整理让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。复制将内存划分为大小相等的两块,每次只使用其中一块,当这一块内存用完了就...
AC代码class Solution { /** * 因为题目说链表节点值是不重复的,所以可以用HashSet存储数组中元素,便于查询 * flag 变量表示当前元素是否属于某个集合,true: 当前元素属于某个集合(组件), false: 不属于某个集合(组件) * ...
给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。...