• 二、Skywalking模块系统与启动流程

    OAP 后端几十个模块怎么拼成一个可运行的整体?SkyWalking 没用 Spring,自己写了一套极简模块框架:ModuleDefine(契约)+ ModuleProvider(实现)+ 标准 Java SPI 发现 + 拓扑排序启动。这篇拆解这套骨架,跟一遍 OAP 的 main 启动流程,最后看 CoreModule 这个"大脑"里装了什么。理解了它,后面所有模块的代码都能对号入座。...

    一、Skywalking整体架构与端到端数据流

    Apache SkyWalking 是国内最成熟的开源 APM 系统。这篇顺着一条 trace 从 Agent 上报到 UI 展示的完整旅程,把 OAP 后端的接收、解析、规则编译、聚合、存储、查询六大层串一遍,建立全局观。读完你能回答:数据从哪来、中间被谁加工、最后落到哪、怎么被查出来。后面 11 篇都是这条链上某一环的放大。...

    面试经典 150 题 · Java 题解

    力扣官方精选 150 题,按 21 个专题整理。每题:思路脉络 + Mermaid 图 + Java 代码 + 复杂度 + 易错点。 ...

    Java工具框架收集

    敏感词检测https://github.com/houbb/sensitive-word.git汉字转拼音https://github.com/houbb/pinyin中文分词https://github.com/houbb/segment简繁转换https://github.com/houbb/o...

    垃圾收集算法

    垃圾收集算法标记-清除将存活的对象进行标记,然后清理掉未被标记的对象。不足:标记和清除过程效率都不高;会产生大量不连续的内存碎片,导致无法给大对象分配内存。标记-整理让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。复制将内存划分为大小相等的两块,每次只使用其中一块,当这一块内存用完了就...

    LEETCODE 817. 链表组件

    AC代码class Solution { /** * 因为题目说链表节点值是不重复的,所以可以用HashSet存储数组中元素,便于查询 * flag 变量表示当前元素是否属于某个集合,true: 当前元素属于某个集合(组件), false: 不属于某个集合(组件) * ...

    LeetCode 200. 岛屿数量

    给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。...

    LeetCode 130. 被围绕的区域

    给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。...

    LeetCode 77. 组合

    给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。...

    LeetCode 39. 组合总和

    给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。  对于给定的输入,保证和为 target 的不同组合数少于 150 个。...