文章时间线

2026

385 篇记录
七月 183 篇
README 6666666666666666666 draft page post index · source index index · onenotes [返回上一级](/) index · algorithm [返回上一级](/) index · idea学习 [返回上一级](/) index · debug断点调试 [返回上一级](/onenotes/idea学习/) index · 快捷键 [返回上一级](/onenotes/idea学习/) index · java原理 [返回上一级](/) index · java-see [返回上一级](/onenotes/java原理/) index · javaweb [返回上一级](/onenotes/java原理/) index · javaweb 2 [返回上一级](/onenotes/java原理/javaweb/) index · 前端基础 [返回上一级](/onenotes/java原理/javaweb/javaweb/) index · 后端基础 [返回上一级](/onenotes/java原理/javaweb/javaweb/) index · 后端实战 [返回上一级](/onenotes/java原理/javaweb/javaweb/) index · 后端高级 [返回上一级](/onenotes/java原理/javaweb/javaweb/) index · 总结 [返回上一级](/onenotes/java原理/javaweb/javaweb/) index · juc [返回上一级](/onenotes/java原理/) index · juc 2 [返回上一级](/onenotes/java原理/juc/) index · 1-多线程基础 [返回上一级](/onenotes/java原理/juc/juc/) index · 2-并发之共享模型 [返回上一级](/onenotes/java原理/juc/juc/) index · 3-jmm [返回上一级](/onenotes/java原理/juc/juc/) index · 4-无锁并发 [返回上一级](/onenotes/java原理/juc/juc/) index · 5-不可变类 [返回上一级](/onenotes/java原理/juc/juc/) index · 8-1-线程池 [返回上一级](/onenotes/java原理/juc/juc/) index · 8-2-j-u-c-原理 [返回上一级](/onenotes/java原理/juc/juc/) index · 9-mysum [返回上一级](/onenotes/java原理/juc/juc/) index · jvm [返回上一级](/onenotes/java原理/) index · 基础篇 [返回上一级](/onenotes/java原理/jvm/) index · 实战篇 [返回上一级](/onenotes/java原理/jvm/) index · tojava [返回上一级](/onenotes/java原理/) index · collection体系 [返回上一级](/onenotes/java原理/tojava/) index · 代码块 [返回上一级](/onenotes/java原理/tojava/) index · 关键字 [返回上一级](/onenotes/java原理/tojava/) index · 多新鲜啊 [返回上一级](/onenotes/java原理/tojava/) index · 接口 [返回上一级](/onenotes/java原理/tojava/) index · 数据类型 [返回上一级](/onenotes/java原理/tojava/) index · 精简代码 [返回上一级](/onenotes/java原理/tojava/) index · 旁生枝茎 [返回上一级](/onenotes/java原理/) index · linux [返回上一级](/) index · shell-learn [返回上一级](/onenotes/linux/) index · project [返回上一级](/) index · q-a-with-arwen [返回上一级](/) index · realityresearch [返回上一级](/) index · top-level [返回上一级](/) index · 技术栈 [返回上一级](/) index · ai-agent [返回上一级](/onenotes/技术栈/) index · demo [返回上一级](/onenotes/技术栈/aiagent/) index · essay [返回上一级](/onenotes/技术栈/aiagent/) index · netty [返回上一级](/onenotes/技术栈/) index · rabbitmq [返回上一级](/onenotes/技术栈/) index · 函数式编程 [返回上一级](/onenotes/技术栈/) index · 函数式编程 2 [返回上一级](/onenotes/技术栈/函数式编程/) index · stream [返回上一级](/onenotes/技术栈/函数式编程/函数式编程/) index · 第二章 [返回上一级](/onenotes/技术栈/函数式编程/函数式编程/) index · 技术文章 [返回上一级](/onenotes/技术栈/) index · 技术文章 2 [返回上一级](/onenotes/技术栈/技术文章/) index · 三-juc [返回上一级](/onenotes/技术栈/技术文章/技术文章/) index · 二-redis [返回上一级](/onenotes/技术栈/技术文章/技术文章/) index · 四-book [返回上一级](/onenotes/技术栈/技术文章/技术文章/) index · 设计模式 [返回上一级](/onenotes/技术栈/) index · 数据库 [返回上一级](/) index · mysql [返回上一级](/onenotes/数据库/) index · mysql 2 [返回上一级](/onenotes/数据库/mysql/) index · 基础篇 2 [返回上一级](/onenotes/数据库/mysql/mysql/) index · 总结 2 [返回上一级](/onenotes/数据库/mysql/mysql/) index · 运维篇 [返回上一级](/onenotes/数据库/mysql/mysql/) index · 进阶篇 [返回上一级](/onenotes/数据库/mysql/mysql/) index · redis [返回上一级](/onenotes/数据库/) index · redis 2 [返回上一级](/onenotes/数据库/redis/) index · redis详解 [返回上一级](/onenotes/数据库/redis/) index · 框架 [返回上一级](/) index · springboot3 [返回上一级](/onenotes/框架/) index · ssm框架 [返回上一级](/onenotes/框架/) index · ssm框架 2 [返回上一级](/onenotes/框架/ssm框架/) AGPL3 Version 3, 19 November 2007 Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/> AUTHORS NexT theme was initially developed by: README · ru Язык: 🇺🇸 🇨🇳 🇷🇺 CODE OF CONDUCT 语言: :us: :cn: :ru: CONTRIBUTING 语言: :us: :cn: :ru: README · zh-CN 语言: 🇺🇸 🇨🇳 🇷🇺 README · languages [](https://crowdin.com/project/hexothemenext) LICENSE Copyright © 2017 «NexT». README · next Language: 🇺🇸 🇨🇳 🇷🇺 LeetCode MySQL 50 速刷题解 用途:暑假面试前快速恢复 MySQL 上机手感。 说明:本文不复制 LeetCode 原题正文,只保留题号、标题、官方链接、中文题意概述、常见表和 MySQL 参考答案。表名/字段名按 LeetCode SQL 50 常见版本整理,遇到平台字段版本微调时以在线题面为准。 MySQL 面试上机语法函数速查 用途:笔试、上机、LeetCode SQL 题速查。 默认版本:MySQL 8.x,可使用 CTE 和窗口函数。若平台是 MySQL 5.7,窗口函数和 WITH 需要改写成子查询或自连接。 LeetCode MySQL 50 速刷题解 · MySQL 用途:暑假面试前快速恢复 MySQL 上机手感。 说明:本文不复制 LeetCode 原题正文,只保留题号、标题、官方链接、中文题意概述、常见表和 MySQL 参考答案。表名/字段名按 LeetCode SQL 50 常见版本整理,遇到平台字段版本微调时以在线题面为准。 MySQL 面试上机语法函数速查 · MySQL 用途:笔试、上机、LeetCode SQL 题速查。 默认版本:MySQL 8.x,可使用 CTE 和窗口函数。若平台是 MySQL 5.7,窗口函数和 WITH 需要改写成子查询或自连接。 Java后端转Agent学习路线 目标不是“会用一个 Agent 框架”,而是能从后端工程角度做出一个可靠的 AI Agent 系统: MCP专题学习笔记 MCP 是 Model Context Protocol,可以理解为: RAG与Agent工程 text 先检索可信资料,再让模型基于资料回答。 项目实战清单 不要做一堆互不相关 demo。所有项目都围绕一个最终作品累积: 每周推进计划 每周只追一个主目标,但必须交付四样东西: AI工程基础入门到精通 这篇是 AI Agent 目录的基础总论。它回答三个问题: Agent CLI源码剖析 - 全局架构与数据流 这组源码剖析不是复制 Claude Code 源码,也不是复述某个泄露/反编译仓库。你给过的 chauncygu/collectionclaudecodesourcecode 可以作为“公开目录结构和架构信号”的参考,但笔记里的代码是 cleanroom 原创最小实现。 Agent CLI源码剖析 - 主循环与状态机 Agent CLI 最核心的代码不是 UI,不是命令列表,也不是某个工具,而是 QueryEngine。 Agent CLI源码剖析 - 工具系统安全边界 LLM 只会生成文本。Agent 能读文件、改代码、跑命令,是因为宿主程序提供了工具。 Agent CLI源码剖析 - 上下文工程与记忆系统 当前项目结构。 用户偏好。 之前聊过什么。 哪些文件刚被修改。 哪些资料是真实来源。 Agent CLI源码剖析 - MCP传输与扩展生态 本地工具是写在 Agent CLI 里的。MCP 允许外部程序把工具暴露给 Agent。 Agent CLI深水区 - 完整最小实现地图 前面的 0610 讲的是骨架:入口、主循环、工具、上下文、MCP。骨架知道以后,还差一层“代码落地感”: Agent CLI深水区 - QueryEngine状态机 很多人看 Agent loop,会以为就是: Agent CLI深水区 - 工具执行器权限审计 Agent CLI 的危险点不在“模型会说错话”,而在“模型说错话后,程序真的执行了动作”。 Agent CLI深水区 - 上下文预算压缩记忆 Agent 能不能“懂项目”,很大程度取决于上下文工程。 Agent CLI深水区 - MCP生命周期传输层 入门时可以把 MCP 理解成“外部工具协议”。但源码级理解要更具体: Agent CLI深水区 - 模型适配器与流式解析 很多入门 demo 会在业务代码里直接写: Agent CLI深水区 - 编辑器Diff与补丁引擎 让 Agent 改代码,最危险的不是“不会写”,而是: Agent CLI深水区 - 搜索系统与代码上下文 真实项目里,Agent 不知道该读哪个文件。它需要先定位。 Agent CLI深水区 - 命令技能插件系统 Agent CLI 里经常有 command、skill、plugin,容易混。 Agent CLI深水区 - TraceEval调试体系 AI Agent 出错时,不像普通接口只看 stack trace。 Agent CLI深水区 - 从输入到落盘全链路复盘 前面几篇分别拆了主循环、工具、上下文、MCP、模型适配、编辑、搜索、插件和评测。 这一篇不再按模块讲,而是按一次真实任务的执行链讲。 README · demo 这个目录是一个最小 Spring Boot demo,不是完整 Agent 产品。它把笔记里的 RAG / Trace / Agent API 思路落到一个可运行后端切片:本地 Markdown 检索、基于来源的 deterministic 回答、trace 查询。 Agent Memory 21篇论文学习路线 来源主文:一口气读完 agent memory 的 21 篇核心论文 MemGPT - Towards LLMs as Operating Systems 论文:MemGPT: Towards LLMs as Operating Systems 链接:https://arxiv.org/abs/2310.08560 代码:https://github.com/cpacker/MemGPT MemoryBank - Long Term Memory with Forgetting 论文:MemoryBank: Enhancing Large Language Models with LongTerm Memory 链接:https://arxiv.org/abs/2305.10250 Zep - Temporal Knowledge Graph Memory 论文:ZEP: A Temporal Knowledge Graph Architecture for Agent Memory 链接:https://arxiv.org/pdf/2501.13956 代码:https://github.com/getzep/zep A - MEM - Agentic Memory 论文:AMEM: Agentic Memory for LLM Agents 链接:https://arxiv.org/abs/2502.12110 Mem0 - Production Ready Long Term Memory 论文:Mem0: Building ProductionReady AI Agents with Scalable LongTerm Memory 链接:https://arxiv.org/abs/2504.19413 代码:https://github.com/mem0ai/mem0 MemOS - Memory OS for AI System 论文:MemOS: A Memory OS for AI System 链接:https://arxiv.org/abs/2505.22101 MIRIX - Multi Agent Memory System 论文:MIRIX: MultiAgent Memory System for LLMBased Agents 链接:https://arxiv.org/abs/2507.07957 HippoRAG - Neurobiological Long Term Memory 论文:HippoRAG: Neurobiologically Inspired LongTerm Memory for Large Language Models 链接:https://arxiv.org/abs/2405.14831 代码:https://github.com/OSUNLPGroup/HippoRAG Generative Agents - Memory Stream 论文:Generative Agents: Interactive Simulacra of Human Behavior 链接:https://arxiv.org/abs/2304.03442 Voyager - Skill Library as Memory 论文:Voyager: An OpenEnded Embodied Agent with Large Language Models 链接:https://arxiv.org/abs/2305.16291 代码:https://github.com/MineDojo/Voyager Memorizing Transformers - KNN Memory 论文:Memorizing Transformers 本地原文: MemoryLLM - Self Updatable LLM 论文:MemoryLLM: Towards SelfUpdatable Large Language Models 本地原文: Memory3 - Explicit Memory 论文:Memory3: Language Modeling with Explicit Memory 本地原文: WISE - Lifelong Model Editing 论文:WISE: Rethinking the Knowledge Memory for Lifelong Model Editing of Large Language Models 本地原文: Titans - Learning to Memorize at Test Time 论文:Titans: Learning to Memorize at Test Time 本地原文: Memory in the Age of AI Agents 论文:Memory in the Age of AI Agents: A Survey Forms, Functions and Dynamics 本地原文: Agent Memory Survey 论文:A Survey on the Memory Mechanism of Large Language Model based Agents 本地原文: CoALA - Cognitive Architectures for Language Agents 论文:Cognitive Architectures for Language Agents 本地原文: Multimodal Memory Survey 资源:Awesome Multimodal Memory 本地资源清单: Reflexion - Verbal Reinforcement Learning 论文:Reflexion: Language Agents with Verbal Reinforcement Learning 本地原文: MemLong - Long Context Memory Retrieval 论文:MemLong: MemoryAugmented Retrieval for Long Text Modeling 本地原文: README · AI Agent 这个目录的目标不是收集名词,而是把 Java 后端能力迁移成可落地的 AI Agent 工程能力。主线只有一条: Java后端转Agent学习路线 · AI Agent 目标不是“会用一个 Agent 框架”,而是能从后端工程角度做出一个可靠的 AI Agent 系统: MCP专题学习笔记 · AI Agent MCP 是 Model Context Protocol,可以理解为: RAG与Agent工程 · AI Agent text 先检索可信资料,再让模型基于资料回答。 项目实战清单 · AI Agent 不要做一堆互不相关 demo。所有项目都围绕一个最终作品累积: 每周推进计划 · AI Agent 每周只追一个主目标,但必须交付四样东西: AI工程基础入门到精通 · AI Agent 这篇是 AI Agent 目录的基础总论。它回答三个问题: Agent CLI源码剖析 - 全局架构与数据流 · AI Agent 这组源码剖析不是复制 Claude Code 源码,也不是复述某个泄露/反编译仓库。你给过的 chauncygu/collectionclaudecodesourcecode 可以作为“公开目录结构和架构信号”的参考,但笔记里的代码是 cleanroom 原创最小实现。 Agent CLI源码剖析 - 主循环与状态机 · AI Agent Agent CLI 最核心的代码不是 UI,不是命令列表,也不是某个工具,而是 QueryEngine。 Agent CLI源码剖析 - 工具系统安全边界 · AI Agent LLM 只会生成文本。Agent 能读文件、改代码、跑命令,是因为宿主程序提供了工具。 Agent CLI源码剖析 - 上下文工程与记忆系统 · AI Agent 当前项目结构。 用户偏好。 之前聊过什么。 哪些文件刚被修改。 哪些资料是真实来源。 Agent CLI源码剖析 - MCP传输与扩展生态 · AI Agent 本地工具是写在 Agent CLI 里的。MCP 允许外部程序把工具暴露给 Agent。 Agent CLI深水区 - 完整最小实现地图 · AI Agent 前面的 0610 讲的是骨架:入口、主循环、工具、上下文、MCP。骨架知道以后,还差一层“代码落地感”: Agent CLI深水区 - QueryEngine状态机 · AI Agent 很多人看 Agent loop,会以为就是: Agent CLI深水区 - 工具执行器权限审计 · AI Agent Agent CLI 的危险点不在“模型会说错话”,而在“模型说错话后,程序真的执行了动作”。 Agent CLI深水区 - 上下文预算压缩记忆 · AI Agent Agent 能不能“懂项目”,很大程度取决于上下文工程。 Agent CLI深水区 - MCP生命周期传输层 · AI Agent 入门时可以把 MCP 理解成“外部工具协议”。但源码级理解要更具体: Agent CLI深水区 - 模型适配器与流式解析 · AI Agent 很多入门 demo 会在业务代码里直接写: Agent CLI深水区 - 编辑器Diff与补丁引擎 · AI Agent 让 Agent 改代码,最危险的不是“不会写”,而是: Agent CLI深水区 - 搜索系统与代码上下文 · AI Agent 真实项目里,Agent 不知道该读哪个文件。它需要先定位。 Agent CLI深水区 - 命令技能插件系统 · AI Agent Agent CLI 里经常有 command、skill、plugin,容易混。 Agent CLI深水区 - TraceEval调试体系 · AI Agent AI Agent 出错时,不像普通接口只看 stack trace。 Agent CLI深水区 - 从输入到落盘全链路复盘 · AI Agent 前面几篇分别拆了主循环、工具、上下文、MCP、模型适配、编辑、搜索、插件和评测。 这一篇不再按模块讲,而是按一次真实任务的执行链讲。 README · demo 2 这个目录是一个最小 Spring Boot demo,不是完整 Agent 产品。它把笔记里的 RAG / Trace / Agent API 思路落到一个可运行后端切片:本地 Markdown 检索、基于来源的 deterministic 回答、trace 查询。 Agent Memory 21篇论文学习路线 · essay 来源主文:一口气读完 agent memory 的 21 篇核心论文 MemGPT - Towards LLMs as Operating Systems · essay 论文:MemGPT: Towards LLMs as Operating Systems 链接:https://arxiv.org/abs/2310.08560 代码:https://github.com/cpacker/MemGPT MemoryBank - Long Term Memory with Forgetting · essay 论文:MemoryBank: Enhancing Large Language Models with LongTerm Memory 链接:https://arxiv.org/abs/2305.10250 Zep - Temporal Knowledge Graph Memory · essay 论文:ZEP: A Temporal Knowledge Graph Architecture for Agent Memory 链接:https://arxiv.org/pdf/2501.13956 代码:https://github.com/getzep/zep A - MEM - Agentic Memory · essay 论文:AMEM: Agentic Memory for LLM Agents 链接:https://arxiv.org/abs/2502.12110 Mem0 - Production Ready Long Term Memory · essay 论文:Mem0: Building ProductionReady AI Agents with Scalable LongTerm Memory 链接:https://arxiv.org/abs/2504.19413 代码:https://github.com/mem0ai/mem0 MemOS - Memory OS for AI System · essay 论文:MemOS: A Memory OS for AI System 链接:https://arxiv.org/abs/2505.22101 MIRIX - Multi Agent Memory System · essay 论文:MIRIX: MultiAgent Memory System for LLMBased Agents 链接:https://arxiv.org/abs/2507.07957 HippoRAG - Neurobiological Long Term Memory · essay 论文:HippoRAG: Neurobiologically Inspired LongTerm Memory for Large Language Models 链接:https://arxiv.org/abs/2405.14831 代码:https://github.com/OSUNLPGroup/HippoRAG Generative Agents - Memory Stream · essay 论文:Generative Agents: Interactive Simulacra of Human Behavior 链接:https://arxiv.org/abs/2304.03442 Voyager - Skill Library as Memory · essay 论文:Voyager: An OpenEnded Embodied Agent with Large Language Models 链接:https://arxiv.org/abs/2305.16291 代码:https://github.com/MineDojo/Voyager Memorizing Transformers - KNN Memory · essay 论文:Memorizing Transformers 本地原文: MemoryLLM - Self Updatable LLM · essay 论文:MemoryLLM: Towards SelfUpdatable Large Language Models 本地原文: Memory3 - Explicit Memory · essay 论文:Memory3: Language Modeling with Explicit Memory 本地原文: WISE - Lifelong Model Editing · essay 论文:WISE: Rethinking the Knowledge Memory for Lifelong Model Editing of Large Language Models 本地原文: Titans - Learning to Memorize at Test Time · essay 论文:Titans: Learning to Memorize at Test Time 本地原文: Memory in the Age of AI Agents · essay 论文:Memory in the Age of AI Agents: A Survey Forms, Functions and Dynamics 本地原文: Agent Memory Survey · essay 论文:A Survey on the Memory Mechanism of Large Language Model based Agents 本地原文: CoALA - Cognitive Architectures for Language Agents · essay 论文:Cognitive Architectures for Language Agents 本地原文: Multimodal Memory Survey · essay 资源:Awesome Multimodal Memory 本地资源清单: Reflexion - Verbal Reinforcement Learning · essay 论文:Reflexion: Language Agents with Verbal Reinforcement Learning 本地原文: MemLong - Long Context Memory Retrieval · essay 论文:MemLong: MemoryAugmented Retrieval for Long Text Modeling 本地原文: README · AI Agent 2 这个目录的目标不是收集名词,而是把 Java 后端能力迁移成可落地的 AI Agent 工程能力。主线只有一条:
四月 44 篇
MyFriends · Project SQL查询(实现简单,可以通过拆分查询进一步优化) MyFriends SQL查询(实现简单,可以通过拆分查询进一步优化) MyBatis · Q & A with Arwen 2 基于配置生成, 因此只需要全局唯一即可 单例 MyBatis · Q & A with Arwen 基于配置生成, 因此只需要全局唯一即可 单例 自定义Spring框架 省略 getter 、setter 、构造函数 MyBatisPlus | 功能 | 自定义接口 | MP接口 | | | | | | 新增 | boolean save(T t) | int insert(T t) | | 删除 | boolean delete(int id) | int deleteById(Serializable id) | | 修改 | boolean update(T t) | int update SpringMVC 区别 @RequestParam 用于接收 url 地址传参, 表单传参 @RequestBody 用于接收 json 数据 自定义Spring框架 · 设计模式 省略 getter 、setter 、构造函数 MyBatisPlus · SSM框架 | 功能 | 自定义接口 | MP接口 | | | | | | 新增 | boolean save(T t) | int insert(T t) | | 删除 | boolean delete(int id) | int deleteById(Serializable id) | | 修改 | boolean update(T t) | int update SpringMVC · SSM框架 区别 @RequestParam 用于接收 url 地址传参, 表单传参 @RequestBody 用于接收 json 数据 行为型模式 对象化每条语法规则, 方便组合与扩展 1. 有一门小语言或表达式要在程序里被解析和执行(例如数学表达式、过滤规则、正则、路径遍历逻辑)。 行为型模式 · 设计模式 对象化每条语法规则, 方便组合与扩展 1. 有一门小语言或表达式要在程序里被解析和执行(例如数学表达式、过滤规则、正则、路径遍历逻辑)。 sum - 设计原则 比如搜狗输入法的皮肤是输入法的背景图片、窗口颜色和声音的等元素的组合, 用户按需求更换皮肤, 我们就把皮肤抽象为一个接口, 然后每一个具体的皮肤就是他的子实现类, 不用每次创建皮肤都得重新皮肤类, 而是用接口来接收它 创建者模式 单例模式确保一个类在系统中只有一个实例,并且提供一个全局的访问点 结构型模式 java // 目标接口 interface Target { void request(); } sum - 设计原则 · 设计模式 比如搜狗输入法的皮肤是输入法的背景图片、窗口颜色和声音的等元素的组合, 用户按需求更换皮肤, 我们就把皮肤抽象为一个接口, 然后每一个具体的皮肤就是他的子实现类, 不用每次创建皮肤都得重新皮肤类, 而是用接口来接收它 创建者模式 · 设计模式 单例模式确保一个类在系统中只有一个实例,并且提供一个全局的访问点 结构型模式 · 设计模式 java // 目标接口 interface Target { void request(); } MySQL的锁 MySQL 锁全面扫盲 MySQL的锁 · MySQL MySQL 锁全面扫盲 MySQL · Q & A with Arwen 2 客户端发出sql 连接器校验身份 服务层 语法分析 词法分析和语法分析是两步。词法分析把字符串拆成token (识别出SELECT、FROM、WHERE这些关键字),语法分析检查这些token的组合是否符合SQL语法规则, 做这件事的组件叫解析器(Parser)。它最终产出一棵语法树(AST)。 MySQL · Q & A with Arwen 客户端发出sql 连接器校验身份 服务层 语法分析 词法分析和语法分析是两步。词法分析把字符串拆成token (识别出SELECT、FROM、WHERE这些关键字),语法分析检查这些token的组合是否符合SQL语法规则, 做这件事的组件叫解析器(Parser)。它最终产出一棵语法树(AST)。 JUC · Q & A with Arwen 2647 与 Arwen 复习整理 Spring java public class BookServiceImpl implements BookService{ private BookDao bd; public void setBookDao(BookDao bd){ this.bd = bd; } } JUC 2647 与 Arwen 复习整理 Spring · SSM框架 java public class BookServiceImpl implements BookService{ private BookDao bd; public void setBookDao(BookDao bd){ this.bd = bd; } } Redis - Q&A Redis 的快 = 内存访问 + 简单数据模型 + 单线程避免锁竞争 + I/O 多路复用减少连接处理成本 Redis发送命令: 解析命令, 根据key到内存找命令, 返回结果, 并且网络层是单线程+I/O多路复用, 一个线程可以监听很多连接, 避免大量线程切换和锁竞争. 确定性命令 MySQL: 语义检查, 执行计划选择, 选索引, 访问磁盘/Buffe Redis - Q&A · Redis Redis 的快 = 内存访问 + 简单数据模型 + 单线程避免锁竞争 + I/O 多路复用减少连接处理成本 Redis发送命令: 解析命令, 根据key到内存找命令, 返回结果, 并且网络层是单线程+I/O多路复用, 一个线程可以监听很多连接, 避免大量线程切换和锁竞争. 确定性命令 MySQL: 语义检查, 执行计划选择, 选索引, 访问磁盘/Buffe JAVA必知必会 · Algorithm java //匿名内部类写法 new Thread(new Runnable(){ @Override public void run(){ ... } }).start(); JAVA必知必会 java //匿名内部类写法 new Thread(new Runnable(){ @Override public void run(){ ... } }).start(); basic - bean配置 & 注册 @Value("${键名}") imp - SpringBoot启动 & IOC初始化 & 监听机制 1. 确认 web 应用的类型 2. 加载 ApplicationContextInitializer 3. 加载 ApplicationListener 4. 记录主启动类 mid - BeanDefinition + BeanFactory + IOC 核心容器 Bean配置蓝图 Spring 在扫描类、解析 @Bean、解析 XML 的时候, 不会立刻创建对象Bean,而是先把这些信息解析成 BeanDefinition。 mid - SpringBoot配置 & 分页 & MVC 键=值 server.port=10010 powershell C:\Users\Administrator\Desktop\bigevent\target java jar bigevent1.0SNAPSHOT. jar server.port=9999 mid - 注册参数校验 & 登录 用户注册接口的参数合法性校验 basic - bean配置 & 注册 · SpringBoot3 @Value("${键名}") imp - SpringBoot启动 & IOC初始化 & 监听机制 · SpringBoot3 1. 确认 web 应用的类型 2. 加载 ApplicationContextInitializer 3. 加载 ApplicationListener 4. 记录主启动类 mid - BeanDefinition + BeanFactory + IOC 核心容器 · SpringBoot3 Bean配置蓝图 Spring 在扫描类、解析 @Bean、解析 XML 的时候, 不会立刻创建对象Bean,而是先把这些信息解析成 BeanDefinition。 mid - SpringBoot配置 & 分页 & MVC · SpringBoot3 键=值 server.port=10010 powershell C:\Users\Administrator\Desktop\bigevent\target java jar bigevent1.0SNAPSHOT. jar server.port=9999 mid - 注册参数校验 & 登录 · SpringBoot3 用户注册接口的参数合法性校验 mid - OpenResty & 多级缓存 & 请求链路改造 Redis 操作内存, 宕机会导致数据丢失 === 持久化 单点Redis不具有并发能力 ===搭建主从集群,实现读写分离 存储上限低 === 搭建分片集群, 利用插槽机制实现动态扩容 故障恢复问题 === 利用哨兵ping, 实现健康检测 & 自动恢复 NGINX Nginx 本质上是一个高性能 Web 服务器,但你在后端开发里最常见到它,通常是这三个角色: mid - OpenResty & 多级缓存 & 请求链路改造 · Redis Redis 操作内存, 宕机会导致数据丢失 === 持久化 单点Redis不具有并发能力 ===搭建主从集群,实现读写分离 存储上限低 === 搭建分片集群, 利用插槽机制实现动态扩容 故障恢复问题 === 利用哨兵ping, 实现健康检测 & 自动恢复 NGINX · Redis详解 Nginx 本质上是一个高性能 Web 服务器,但你在后端开发里最常见到它,通常是这三个角色:
三月 158 篇
MySQL - 50 · Algorithm basic - JVM · JVM Java 源码 → 字节码 → JVM解释器一条条解释执行 Linux操作系统 · Linux deep - research - report · RealityResearch 本报告以“秒杀下单(seckill order)”为核心业务路径,给出从客户端请求进入系统到返回最终结果的完整端到端(E2E)流程拆解,并对每一步的组件职责、输入/输出数据形态、潜在瓶颈与可量化性能目标进行严谨分析。该架构的关键思想是:在入口使用 L7 网关限流/防护(leaky bucket)、在业务层用 Redis 原子脚本完成“库存预扣 + 资格校验 yori - 内存 & 网络模型 Redis整体架构 → 单线程 + 事件驱动 Redis网络模型(最关键) → 需要同时处理成千上万的客户端连接(每个连接就是一个 fd) 如果不用多路复用会怎样? 每个客户端连接开一个线程 → 线程爆炸(几万个线程,内存和切换成本爆炸) 或者用阻塞IO → 一个客户端卡住,整个Redis就卡住 所以必须用 I/O多路复用 → 一个线程同时监听多个 fd,看 MySQL - 50 basic - JVM Java 源码 → 字节码 → JVM解释器一条条解释执行 Linux操作系统 deep - research - report 本报告以“秒杀下单(seckill order)”为核心业务路径,给出从客户端请求进入系统到返回最终结果的完整端到端(E2E)流程拆解,并对每一步的组件职责、输入/输出数据形态、潜在瓶颈与可量化性能目标进行严谨分析。该架构的关键思想是:在入口使用 L7 网关限流/防护(leaky bucket)、在业务层用 Redis 原子脚本完成“库存预扣 + 资格校验 yori - 内存 & 网络模型 · Redis Redis整体架构 → 单线程 + 事件驱动 Redis网络模型(最关键) → 需要同时处理成千上万的客户端连接(每个连接就是一个 fd) 如果不用多路复用会怎样? 每个客户端连接开一个线程 → 线程爆炸(几万个线程,内存和切换成本爆炸) 或者用阻塞IO → 一个客户端卡住,整个Redis就卡住 所以必须用 I/O多路复用 → 一个线程同时监听多个 fd,看 xh - Redisson java @Configuration public class RedisConfig{ @Bean public RedissonClient redissonClient(){ Config config = new Config(); Config.useSingleServer().setAddress("redis://192.168.150.1 xh - 超时释放 & 锁重试 & watch dog 锁还没同步到从节点, 主挂了, 新主节点不认识锁, 锁丢失 yori - 底层数据结构 | 说明 | |||| | 0 | raw | 普通字符串(SDS 实现) | | 1 | int | 用 long 存储的整数(节省内存) | | 2 | hashtable | 哈希表(dict 实现) | | 3 | zipmap | 已废弃(早期紧凑结构) | | 4 | linkedlist | 双向链表(已淘汰) | | 5 | ziplist yori - 持久化 & 集群 &哨兵 Redis Database file 数据库备份文件 (数据快照) Redis停机时会执行一次RDB save 主线程来执行 bgsave 子线程异步后台执行 zex - kv设计 & 批处理 & 主从or集群 & 配置 业务:字段:id 长度不超过44字节 底层embstr 无特殊字符 HyperLogLog UV:全称uniqueVisitor,也叫独立访客量, 是指通过互联访问、浏览这个页的自然人。1天内同个户多次访问该站,只记录1次。 Redisson 面向 Java / Spring Boot 后端开发。 这篇不是“把 API 全抄一遍”,而是带你搞清楚:Redisson 是什么、适合什么、核心能力有哪些、分布式锁到底怎么用才不翻车、和 RedisTemplate/Jedis/Lettuce 的关系是什么。 xh - Redisson · Redis java @Configuration public class RedisConfig{ @Bean public RedissonClient redissonClient(){ Config config = new Config(); Config.useSingleServer().setAddress("redis://192.168.150.1 xh - 超时释放 & 锁重试 & watch dog · Redis 锁还没同步到从节点, 主挂了, 新主节点不认识锁, 锁丢失 yori - 底层数据结构 · Redis | 说明 | |||| | 0 | raw | 普通字符串(SDS 实现) | | 1 | int | 用 long 存储的整数(节省内存) | | 2 | hashtable | 哈希表(dict 实现) | | 3 | zipmap | 已废弃(早期紧凑结构) | | 4 | linkedlist | 双向链表(已淘汰) | | 5 | ziplist yori - 持久化 & 集群 &哨兵 · Redis Redis Database file 数据库备份文件 (数据快照) Redis停机时会执行一次RDB save 主线程来执行 bgsave 子线程异步后台执行 zex - kv设计 & 批处理 & 主从or集群 & 配置 · Redis 业务:字段:id 长度不超过44字节 底层embstr 无特殊字符 HyperLogLog · Redis详解 UV:全称uniqueVisitor,也叫独立访客量, 是指通过互联访问、浏览这个页的自然人。1天内同个户多次访问该站,只记录1次。 Redisson · Redis详解 面向 Java / Spring Boot 后端开发。 这篇不是“把 API 全抄一遍”,而是带你搞清楚:Redisson 是什么、适合什么、核心能力有哪些、分布式锁到底怎么用才不翻车、和 RedisTemplate/Jedis/Lettuce 的关系是什么。 减少Java样板代码 · JAVA原理 面向 Java 后端开发的 modern Java / engineering tricks。目标不是炫技,而是把那些“必须写、但信息密度很低”的样板代码压掉,把注意力留给业务本身。 xh - 秒杀 & 限购 & 锁误删 但是判断库存 & 扣减库存有时延, 可能最后一张还没来得及扣减就又有线程来判断是否充足 从而导致超卖问题 xh - 签到、点赞、关注、Feed 流与 GEO java String key = "blog:liked:" + blogId; HuToolAPI 适合 Java 后端开发日常使用的 Hutool 高频工具速查。 侧重:会用、常用、能快速落地。 MyBatisAPI 适合单体项目 / SSM / Spring Boot 后端开发快速查阅。 悲观锁 & 乐观锁 乐观锁和悲观锁,本质上都不是为了“加锁而加锁”,而是为了解决并发场景下共享数据的一致性问题。 减少Java样板代码 面向 Java 后端开发的 modern Java / engineering tricks。目标不是炫技,而是把那些“必须写、但信息密度很低”的样板代码压掉,把注意力留给业务本身。 xh - 秒杀 & 限购 & 锁误删 · Redis 但是判断库存 & 扣减库存有时延, 可能最后一张还没来得及扣减就又有线程来判断是否充足 从而导致超卖问题 xh - 签到、点赞、关注、Feed 流与 GEO · Redis java String key = "blog:liked:" + blogId; HuToolAPI · Redis详解 适合 Java 后端开发日常使用的 Hutool 高频工具速查。 侧重:会用、常用、能快速落地。 MyBatisAPI · Redis详解 适合单体项目 / SSM / Spring Boot 后端开发快速查阅。 悲观锁 & 乐观锁 · Redis详解 乐观锁和悲观锁,本质上都不是为了“加锁而加锁”,而是为了解决并发场景下共享数据的一致性问题。 消息队列 · JAVA SEE RabbitMQ提供了publisher confirm机制来避免消息发送到MQ过程中丢失。 消息发送到MQ以后,会返回一个结果给发送者,表示消息是否处理成功 back - end - GS · RealityResearch 本报告覆盖时间范围为 202403 至 202603(截至 20260327),对广州与深圳后端开发(含 Java/Go/Python/Node.js 等服务端方向)的岗位需求、薪资、技术栈、行业分布、实习政策、广州区位分布、面试趋势与实习申请策略进行对比研究。数据优先采用招聘与用工侧权威/半权威公开材料:以智联招聘相关报告与其大湾区专题报告为主,辅以 BO Cser Future · RealityResearch 过去五年(约 2021–2026),计算机领域“最具价值密度、最可落地”的前沿趋势可以归纳为两条主线:其一是以基础模型(Foundation Models)为核心的软件形态重写(生成式 AI、RAG、Agentic Workflows、LLMOps),其二是以云原生为底座的工程体系持续标准化(容器/Kubernetes、可观测性、DevSecOps、平台工程 MQ高级 由于网络波动,可能会出现客户端连接 MQ 失败的情况。 通过配置我们可以开启连接失败后的重连机制: 消息队列 RabbitMQ提供了publisher confirm机制来避免消息发送到MQ过程中丢失。 消息发送到MQ以后,会返回一个结果给发送者,表示消息是否处理成功 back - end - GS 本报告覆盖时间范围为 202403 至 202603(截至 20260327),对广州与深圳后端开发(含 Java/Go/Python/Node.js 等服务端方向)的岗位需求、薪资、技术栈、行业分布、实习政策、广州区位分布、面试趋势与实习申请策略进行对比研究。数据优先采用招聘与用工侧权威/半权威公开材料:以智联招聘相关报告与其大湾区专题报告为主,辅以 BO Cser Future 过去五年(约 2021–2026),计算机领域“最具价值密度、最可落地”的前沿趋势可以归纳为两条主线:其一是以基础模型(Foundation Models)为核心的软件形态重写(生成式 AI、RAG、Agentic Workflows、LLMOps),其二是以云原生为底座的工程体系持续标准化(容器/Kubernetes、可观测性、DevSecOps、平台工程 MQ高级 · RabbitMQ 由于网络波动,可能会出现客户端连接 MQ 失败的情况。 通过配置我们可以开启连接失败后的重连机制: MQ基础 优点: 等待结果出来才返回, 实时性强 缺点: 可拓展性差 耦合大 性能下降 延时高 级联失败问题 MQ基础 · RabbitMQ 优点: 等待结果出来才返回, 实时性强 缺点: 可拓展性差 耦合大 性能下降 延时高 级联失败问题 JVM - 虚拟机 · JAVA SEE [1.1 程序计数器](11程序计数器) [1.2 堆 实例/数组](12堆实例数组) [1.3 虚拟机栈 运行时内存](13虚拟机栈运行时内存) [1.4 方法区 类/常量](14方法区类常量) [1.5 直接内存 I/O数据](15直接内存IO数据) [2.1 what & how](21whathow) [3.1 回收时](31回收时) [调优参数]( JVM - 虚拟机 [1.1 程序计数器](11程序计数器) [1.2 堆 实例/数组](12堆实例数组) [1.3 虚拟机栈 运行时内存](13虚拟机栈运行时内存) [1.4 方法区 类/常量](14方法区类常量) [1.5 直接内存 I/O数据](15直接内存IO数据) [2.1 what & how](21whathow) [3.1 回收时](31回收时) [调优参数]( 源码 · Algorithm java public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable { private static final long serialVersionUID = 8683452581122892189L; 源码 java public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable { private static final long serialVersionUID = 8683452581122892189L; 算法 MindMap · Algorithm mermaid mindmap root((数组与字符串)) 数组基础 遍历模拟 原地修改 去重 合并 删除 旋转 重排 双指针 左右指针 有序数组两数和 盛最多水的容器 三数之和 四数之和 快慢指针 删除重复元素 移动零 原地删除元素 对撞指针 回文判断 反转字符串 滑动窗口 固定窗口 定长子数组 窗口平均值 定长最大最小值 可变窗口 最长无重复子串 最小 线程池 · 旁生枝茎 我把线程池理解成一个 任务调度容器。 它内部提前准备或按需创建一些线程,用来反复执行提交进来的任务。 这样做的核心价值有三点: 算法 MindMap mermaid mindmap root((数组与字符串)) 数组基础 遍历模拟 原地修改 去重 合并 删除 旋转 重排 双指针 左右指针 有序数组两数和 盛最多水的容器 三数之和 四数之和 快慢指针 删除重复元素 移动零 原地删除元素 对撞指针 回文判断 反转字符串 滑动窗口 固定窗口 定长子数组 窗口平均值 定长最大最小值 可变窗口 最长无重复子串 最小 线程池 我把线程池理解成一个 任务调度容器。 它内部提前准备或按需创建一些线程,用来反复执行提交进来的任务。 这样做的核心价值有三点: MindMap · JAVA原理 [JMM](JMM) [JUC](JUC) [设计模式](设计模式) [API](API) [MyBatis](MyBatis) [Spring](Spring) [数据库](数据库) AQS · 旁生枝茎 2 mermaid mindmap root((AQS)) 定位 本质 队列同步器 JUC并发基础框架 目标 统一管理同步状态 统一管理等待线程 让上层锁只关注规则 核心思想 volatile state 表示资源 CLH变体双向队列管理阻塞线程 模板方法屏蔽底层细节 核心组成 state int同步状态 0常表示无锁 compareAndSetState原子修 CAS · 旁生枝茎 CAS = Compare And Swap,也叫 Compare And Set。 MindMap [JMM](JMM) [JUC](JUC) [设计模式](设计模式) [API](API) [MyBatis](MyBatis) [Spring](Spring) [数据库](数据库) AQS · 旁生枝茎 mermaid mindmap root((AQS)) 定位 本质 队列同步器 JUC并发基础框架 目标 统一管理同步状态 统一管理等待线程 让上层锁只关注规则 核心思想 volatile state 表示资源 CLH变体双向队列管理阻塞线程 模板方法屏蔽底层细节 核心组成 state int同步状态 0常表示无锁 compareAndSetState原子修 CAS CAS = Compare And Swap,也叫 Compare And Set。 JUC - 多线程 · JAVA SEE [基础概念](线程进程区别) [线程基础](线程基础) [线程安全](线程安全) [线程池](线程池) [使用场景](使用场景) [其他](其他) Mybatis的变更 · 旁生枝茎 MyBatis 是一个持久层框架,支持自定义 SQL、存储过程和高级映射,目标是减少几乎所有 JDBC 模板代码,并把参数设置、结果取回这些脏活抽掉。 官方介绍里写得很直白:它可以用 XML 或注解 来配置,把基本类型、Map、POJO 映射到数据库记录。 JUC - 多线程 [基础概念](线程进程区别) [线程基础](线程基础) [线程安全](线程安全) [线程池](线程池) [使用场景](使用场景) [其他](其他) Mybatis的变更 MyBatis 是一个持久层框架,支持自定义 SQL、存储过程和高级映射,目标是减少几乎所有 JDBC 模板代码,并把参数设置、结果取回这些脏活抽掉。 官方介绍里写得很直白:它可以用 XML 或注解 来配置,把基本类型、Map、POJO 映射到数据库记录。 IDEA学习 快捷键拾遗 · 快捷键 [创建类的类模板](fragment533ee6c4) [如何快速查看一个类的源代码](fragment46cad6c1) [Idea自带](fragment3f17fe00) JUC 不可变类拾遗 · 5.不可变类 [常见不可变类](fragment4d7db6d3) [未命名](fragment7086b21a) [未命名](fragment281351f6) JUC 线程池拾遗 · 8.1 线程池 [自定义线程池](fragment6a1d9545) [任务调度线程池](fragment28358fbb) [aqs](fragment1d9c9b80) [sum](fragment4a9dc402) JUC J.U.C 原理拾遗 · 8.2 J.U.C 原理 [最后](fragment1ec6a475) [LinkedBlockingQueue](fragment182c7346) JVM 基础篇拾遗 · 基础篇 [方法区的回收](fragment295487e3) [堆](fragment33efa58) [直接内存](fragment5375ad21) [图解](fragment738d21cd) [总结](fragment738e3520) ToJAVA 代码块拾遗 · 代码块 [静态代码块](fragment79cb0802) [实例化代码块](fragment6cbede63) ToJAVA 多新鲜啊拾遗 · 多新鲜啊 [反射](fragment234f3125) [未命名](fragment46df0e4c) [AtomicInteger](fragment24ae9065) [Handler](fragment7115f64) ToJAVA 接口拾遗 · 接口 [语法](fragment5da4dfc) [Comparator](fragment14e5646a) [Predicate](fragment24c2b05d) [Supplier](fragment1a22e660) ToJAVA 精简代码拾遗 · 精简代码 [些小实现](fragment23564c6c) [if操作](fragment5e936a5e) Spring Bean的生命周期 · 旁生枝茎 Spring启动时第一件事不是创建对象,而是解析配置生成 BeanDefinition。 函数式编程 Stream拾遗 [合并流](fragment30f2584d) [截取](fragment720a5acc) [截取和跳过流](fragment7ae267b3) [收集方法的实现](fragment68115b6a) [注意事项](fragment1dfcaa95) [Collect](fragmentf92bed6) [Filter & forEach & Map & 函数式编程 第二章拾遗 [常见的函数式接口](fragment355f9a7d) [方法引用](fragment7de02fd1) [函数接口 分类函数对象](fragment212d79df) [函数式编程的核心](fragment174d23dc) [内循环 二叉树](fragment74bfc0d) [Lambda表达式](fragment65ba428c) MySQL 基础篇拾遗 [约束](fragment894a0b7) [总结](fragment8910936) [DCL控制](fragment64329fde) [DDL操作](fragment643334fd) [DML修改](fragment6434db30) MySQL 总结拾遗 [是否含有子串](fragment18c2bf82) [未命名](fragment4437c6b3) [Any](fragment42aaf4a5) [Avg函数](fragment43ce11de) [Concat(str1,str2,str3)](fragment2bebea9b) [distinct去重关键字](fragment616f0ff9) [i MySQL 进阶篇拾遗 [事务原理](fragment48b26990) [总结](fragment941c8eb) [MVCC 多版本并发控制](fragment2f1ab424) IDEA学习 快捷键拾遗 [创建类的类模板](fragment533ee6c4) [如何快速查看一个类的源代码](fragment46cad6c1) [Idea自带](fragment3f17fe00) JUC 不可变类拾遗 [常见不可变类](fragment4d7db6d3) [未命名](fragment7086b21a) [未命名](fragment281351f6) JUC 线程池拾遗 [自定义线程池](fragment6a1d9545) [任务调度线程池](fragment28358fbb) [aqs](fragment1d9c9b80) [sum](fragment4a9dc402) JUC J.U.C 原理拾遗 [最后](fragment1ec6a475) [LinkedBlockingQueue](fragment182c7346) JVM 基础篇拾遗 [方法区的回收](fragment295487e3) [堆](fragment33efa58) [直接内存](fragment5375ad21) [图解](fragment738d21cd) [总结](fragment738e3520) ToJAVA 代码块拾遗 [静态代码块](fragment79cb0802) [实例化代码块](fragment6cbede63) ToJAVA 多新鲜啊拾遗 [反射](fragment234f3125) [未命名](fragment46df0e4c) [AtomicInteger](fragment24ae9065) [Handler](fragment7115f64) ToJAVA 接口拾遗 [语法](fragment5da4dfc) [Comparator](fragment14e5646a) [Predicate](fragment24c2b05d) [Supplier](fragment1a22e660) ToJAVA 精简代码拾遗 [些小实现](fragment23564c6c) [if操作](fragment5e936a5e) Spring Bean的生命周期 Spring启动时第一件事不是创建对象,而是解析配置生成 BeanDefinition。 函数式编程 Stream拾遗 · Stream [合并流](fragment30f2584d) [截取](fragment720a5acc) [截取和跳过流](fragment7ae267b3) [收集方法的实现](fragment68115b6a) [注意事项](fragment1dfcaa95) [Collect](fragmentf92bed6) [Filter & forEach & Map & 函数式编程 第二章拾遗 · 第二章 [常见的函数式接口](fragment355f9a7d) [方法引用](fragment7de02fd1) [函数接口 分类函数对象](fragment212d79df) [函数式编程的核心](fragment174d23dc) [内循环 二叉树](fragment74bfc0d) [Lambda表达式](fragment65ba428c) MySQL 基础篇拾遗 · 基础篇 [约束](fragment894a0b7) [总结](fragment8910936) [DCL控制](fragment64329fde) [DDL操作](fragment643334fd) [DML修改](fragment6434db30) MySQL 总结拾遗 · 总结 [是否含有子串](fragment18c2bf82) [未命名](fragment4437c6b3) [Any](fragment42aaf4a5) [Avg函数](fragment43ce11de) [Concat(str1,str2,str3)](fragment2bebea9b) [distinct去重关键字](fragment616f0ff9) [i MySQL 进阶篇拾遗 · 进阶篇 [事务原理](fragment48b26990) [总结](fragment941c8eb) [MVCC 多版本并发控制](fragment2f1ab424) Spring & SpringBoot & MyBatis · JAVA SEE [1. Spring](1Spring) [2. SpringMVC执行流程](2SpringMVC执行流程) [3. SpringBoot自动配置](3SpringBoot自动配置) [4. Spring常见注解](4Spring常见注解) [5. MyBatis](5MyBatis) AOP详解 · 旁生枝茎 AOP 全称 Aspect Oriented Programming,面向切面编程。 单例Bean 与 线程安全 · 旁生枝茎 很多人会把这两个词混在一起。 Spring & SpringBoot & MyBatis [1. Spring](1Spring) [2. SpringMVC执行流程](2SpringMVC执行流程) [3. SpringBoot自动配置](3SpringBoot自动配置) [4. Spring常见注解](4Spring常见注解) [5. MyBatis](5MyBatis) AOP详解 AOP 全称 Aspect Oriented Programming,面向切面编程。 单例Bean 与 线程安全 很多人会把这两个词混在一起。 MVCC · 旁生枝茎 MySQL InnoDB 的事务隔离是通过「锁 + MVCC(多版本并发控制)」共同实现的。 UUID vs Snowflake · 旁生枝茎 MySQL 的主键索引和普通索引基本都是: 主从复制 · 旁生枝茎 先从 第一性原理想。 分库分表 · 旁生枝茎 [!abstract] 一句话理解 分库分表是把原本集中在单机数据库上的数据和访问压力,按规则拆分到多个库、多个表中,以突破容量、性能和扩展性瓶颈。 Netty 01 - NIO nonblocking io 非阻塞 IO Netty 02 - 入门 Netty is an asynchronous eventdriven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty 03 - 进阶 java public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start() { NioEventLoopGroup boss = new NioEventLoopGroup(1); Ni Netty 04 - 优化与源码 序列化,反序列化主要用在消息正文的转换上 MVCC MySQL InnoDB 的事务隔离是通过「锁 + MVCC(多版本并发控制)」共同实现的。 UUID vs Snowflake MySQL 的主键索引和普通索引基本都是: 主从复制 先从 第一性原理想。 分库分表 [!abstract] 一句话理解 分库分表是把原本集中在单机数据库上的数据和访问压力,按规则拆分到多个库、多个表中,以突破容量、性能和扩展性瓶颈。 Netty 01 - NIO · Netty nonblocking io 非阻塞 IO Netty 02 - 入门 · Netty Netty is an asynchronous eventdriven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty 03 - 进阶 · Netty java public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start() { NioEventLoopGroup boss = new NioEventLoopGroup(1); Ni Netty 04 - 优化与源码 · Netty 序列化,反序列化主要用在消息正文的转换上 游标分页vs传统分页 · 旁生枝茎 [MySQL](/onenotes/java原理/javasee/mysql/obsidianblock209cf2) 游标分页vs传统分页 [MySQL](/onenotes/java原理/javasee/mysql/obsidianblock209cf2) API · Algorithm java Arrays.fill(arr, begin, end, val); //左闭右开 LeetCode Hot 100 · Algorithm mermaid mindmap root((LeetCode Hot100 分类图1)) 哈希 查找与分组 1 两数之和 核心 哈希表找补数 49 字母异位词分组 核心 排序后做key或计数做key 128 最长连续序列 核心 哈希集合判定序列起点 双指针 原地移动 283 移动零 核心 快慢指针原地覆盖 对撞指针 11 盛最多水的容器 核心 每次移动短板 排序 · Algorithm int[] / long[] / double[] 这种原始类型数组:最简洁也最快 算法笔记 · Algorithm java //把你传进来的容量 cap,调整成“大于等于 cap 的最小 2 的幂” static final int tableSizeFor(int cap) { int n = cap 1; //当 cap 本身已经是 2 的幂时,结果还能保持原值, 1632 n |= n 1; n |= n 2; n |= n 4; n |= n 8; n |= n MySQL · JAVA SEE [1. 优化](1优化) [2. 事务](2事务) [3. 主从同步原理](3主从同步原理) [4. 分库分表](4分库分表) 设计模式 · JAVA SEE [工厂方法模式](工厂方法模式) aqs overview · JUC AbstractQueuedSynchronizer(AQS)是Java并发包(java.util.concurrent)中用于构建锁和同步器的基础框架,核心思想是利用队列管理线程的获取和释放状态。 fork join example · JUC Fork/Join是Java 7引入的用于处理可拆分任务的并行计算框架,属于JUC(java.util.concurrent)的一部分。它特别适合把大任务拆分成小任务并行执行,然后合并结果的场景。 lightweight lock explained · JUC 轻量级锁是 HotSpot 为了在低竞争场景下把同步开销降到最小而设计的机制。它的核心思想是:尽量在用户态(线程栈/寄存器/CPU)完成加锁与解锁操作,避免进入内核态的阻塞/唤醒,从而提高并发性能。 tomcat threadpool detail · JUC 既然你在学JUC,我们可以把Tomcat的线程池当作实际案例来理解。Tomcat处理HTTP请求是基于线程池的,每一个请求都会被分配到线程池中的线程来处理,这也是Web服务器高并发的关键。 Linux课程笔记 · Linux /,根目录是最顶级的目录了 Linux只有一个顶级目录:/ 路径描述的层次关系同样适用/来表示 /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt Vim · Linux | 命令 | 含义 | | | | | h | 左移一个字符 | | l | 右移一个字符 | | j | 下移一行 | | k | 上移一行 | | w | 移动到下一个单词的开头 | | e | 移动到当前/下一个单词的结尾 | | 0(零) | 移动到行首 | | ^ | 移动到本行第一个非空白字符 | | $ | 移动到行尾 | | G | 移动到文 MyShell · Shell_learn vim !/bin/bash shell会去找这个路径 MyShell prac · Shell_learn 先写好shell脚本 , 然后通过bat批处理文件启动shell脚本 Shell第三天 - 笔记 · Shell_learn 理解expr命令的作用 Shell第二天笔记 · Shell_learn 能够使用字符串的3种方式 shell第四天 - 笔记 · Shell_learn 使用cut可以切割提取指定列\字符\字节的数据 API java Arrays.fill(arr, begin, end, val); //左闭右开 LeetCode Hot 100 mermaid mindmap root((LeetCode Hot100 分类图1)) 哈希 查找与分组 1 两数之和 核心 哈希表找补数 49 字母异位词分组 核心 排序后做key或计数做key 128 最长连续序列 核心 哈希集合判定序列起点 双指针 原地移动 283 移动零 核心 快慢指针原地覆盖 对撞指针 11 盛最多水的容器 核心 每次移动短板 排序 int[] / long[] / double[] 这种原始类型数组:最简洁也最快 算法笔记 java //把你传进来的容量 cap,调整成“大于等于 cap 的最小 2 的幂” static final int tableSizeFor(int cap) { int n = cap 1; //当 cap 本身已经是 2 的幂时,结果还能保持原值, 1632 n |= n 1; n |= n 2; n |= n 4; n |= n 8; n |= n MySQL [1. 优化](1优化) [2. 事务](2事务) [3. 主从同步原理](3主从同步原理) [4. 分库分表](4分库分表) 设计模式 [工厂方法模式](工厂方法模式) aqs overview AbstractQueuedSynchronizer(AQS)是Java并发包(java.util.concurrent)中用于构建锁和同步器的基础框架,核心思想是利用队列管理线程的获取和释放状态。 fork join example Fork/Join是Java 7引入的用于处理可拆分任务的并行计算框架,属于JUC(java.util.concurrent)的一部分。它特别适合把大任务拆分成小任务并行执行,然后合并结果的场景。 lightweight lock explained 轻量级锁是 HotSpot 为了在低竞争场景下把同步开销降到最小而设计的机制。它的核心思想是:尽量在用户态(线程栈/寄存器/CPU)完成加锁与解锁操作,避免进入内核态的阻塞/唤醒,从而提高并发性能。 tomcat threadpool detail 既然你在学JUC,我们可以把Tomcat的线程池当作实际案例来理解。Tomcat处理HTTP请求是基于线程池的,每一个请求都会被分配到线程池中的线程来处理,这也是Web服务器高并发的关键。 Linux课程笔记 /,根目录是最顶级的目录了 Linux只有一个顶级目录:/ 路径描述的层次关系同样适用/来表示 /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt Vim | 命令 | 含义 | | | | | h | 左移一个字符 | | l | 右移一个字符 | | j | 下移一行 | | k | 上移一行 | | w | 移动到下一个单词的开头 | | e | 移动到当前/下一个单词的结尾 | | 0(零) | 移动到行首 | | ^ | 移动到本行第一个非空白字符 | | $ | 移动到行尾 | | G | 移动到文 MyShell vim !/bin/bash shell会去找这个路径 MyShell prac 先写好shell脚本 , 然后通过bat批处理文件启动shell脚本 Shell第三天 - 笔记 理解expr命令的作用 Shell第二天笔记 能够使用字符串的3种方式 shell第四天 - 笔记 使用cut可以切割提取指定列\字符\字节的数据 Redis · JAVA SEE [1. 缓存](1缓存降级限流保底策略) [2. 分布式锁](2分布式锁) [3. 集群](3集群) 常见集合篇 · JAVA SEE [ArrayList](ArrayList) [HashMap](HashMap) 知识盲区 · JAVA原理 AP 和 CP,来自一个极其重要的理论: CAP 定理 在一个分布式系统中,如果发生网络分区(Partition), 你只能在 一致性(Consistency) 和 可用性(Availability) 之间选一个。 Redis [1. 缓存](1缓存降级限流保底策略) [2. 分布式锁](2分布式锁) [3. 集群](3集群) 常见集合篇 [ArrayList](ArrayList) [HashMap](HashMap) 知识盲区 AP 和 CP,来自一个极其重要的理论: CAP 定理 在一个分布式系统中,如果发生网络分区(Partition), 你只能在 一致性(Consistency) 和 可用性(Availability) 之间选一个。

2025

250 篇记录
十月 122 篇
死锁 · 9.mysum 1.互斥 2.占有并等待 3.不可抢占 4.循环等待 死锁 1.互斥 2.占有并等待 3.不可抢占 4.循环等待 ThreadLocal 1\. ThreadLocal Atomic 2\. Atomic LongAdder 3\. LongAdder 计算机如何跑起来 1. 中级问题:通常用 Hz 来表示驱动 CPU 运转的时钟信号的频率。 1 秒发出 1 次时钟信号就是 1Hz,所以 100MHz(兆赫兹)的话就是 100×100 万 = 1 亿次/秒。M(兆)代表 100 万。 ThreadLocal · 三. JUC 1\. ThreadLocal Atomic · 三. JUC 2\. Atomic LongAdder · 三. JUC 3\. LongAdder 计算机如何跑起来 · 四. book 1. 中级问题:通常用 Hz 来表示驱动 CPU 运转的时钟信号的频率。 1 秒发出 1 次时钟信号就是 1Hz,所以 100MHz(兆赫兹)的话就是 100×100 万 = 1 亿次/秒。M(兆)代表 100 万。 concurrnetHashMap原理 · 8.2 J.U.C 原理 java hashmap扩容安全问题; 线程0为 a&gt;b&gt;c, 线程1头插扩容产生 b&gt;a, 回到线程0导致 a&gt;b&gt;a&gt;b.... concurrnetHashMap原理 java hashmap扩容安全问题; 线程0为 a&gt;b&gt;c, 线程1头插扩容产生 b&gt;a, 回到线程0导致 a&gt;b&gt;a&gt;b.... tomcat线程池 · 8.1 线程池 tomcat线程池分工 connector配置 executor配置 队列工作流程: forkjoin · 8.1 线程池 <table style="width:100%;" <colgroup <col style="width: 43%" / <col style="width: 56... AQS · 8.2 J.U.C 原理 概述 AbstractQueuedSynchronized 子类需要实现的方法 获取/释放锁 设计模式 模板方法 ReentrantLock原理 · 8.2 J.U.C 原理 锁重入原理 重入和自出都是通过state++实现的 并且在tryRelease时有一个free来控制是否真的释放锁 不可打断原理: 确保其一定拿到锁 java Acquire{ If(!tryAcquire &amp;&amp; acquireQueue) //注意这里的穿透性 setInterrupt } 首先其会尝试获取tA, 获取失败后进入queue, ReentrantReadWriteLock · 8.2 J.U.C 原理 将锁分为 读锁 与 写锁 旨在在读多写少的场景下提升并发性能。 实现读读共享、读写互斥、写写互斥。 注意事项 1.读锁不支持条件变量 2.重入时不能升级锁(有读锁不能获取写锁, 否则会导致永久等待) 3.重入时可以降级锁(有写锁时, 可以获得读锁) Rwl.readLock.unlock() //必须先把读锁释放掉才能拿写锁 Rwl.writeLock.lo StampedLock · 8.2 J.U.C 原理 概述 ReentrantReadWriteLock Plus,读多写少 工作机制 SemaPhore - 信号量 · 8.2 J.U.C 原理 <table <colgroup <col style="width: 3%" / <col style="width: 96%" / </colgroup <thea... CountDownLatch - 倒计时锁 · 8.2 J.U.C 原理 6\. CountDownLatch倒计时锁 CycliBarrier · 8.2 J.U.C 原理 7\. CycliBarrier 线程安全集合类 · 8.2 J.U.C 原理 概述 第一大类:用synchronized实现 Hashtable,vector 第二大类: Collections中用装饰器模式 写的,本质还是调用用普通的类(map...) 方法, 但是为其每个方法添加了synchronized 第三大类:J.U.C: Blocking, concurrent,CopyOnwrite tomcat线程池 tomcat线程池分工 connector配置 executor配置 队列工作流程: forkjoin <table style="width:100%;" <colgroup <col style="width: 43%" / <col style="width: 56... AQS 概述 AbstractQueuedSynchronized 子类需要实现的方法 获取/释放锁 设计模式 模板方法 ReentrantLock原理 锁重入原理 重入和自出都是通过state++实现的 并且在tryRelease时有一个free来控制是否真的释放锁 不可打断原理: 确保其一定拿到锁 java Acquire{ If(!tryAcquire &amp;&amp; acquireQueue) //注意这里的穿透性 setInterrupt } 首先其会尝试获取tA, 获取失败后进入queue, ReentrantReadWriteLock 将锁分为 读锁 与 写锁 旨在在读多写少的场景下提升并发性能。 实现读读共享、读写互斥、写写互斥。 注意事项 1.读锁不支持条件变量 2.重入时不能升级锁(有读锁不能获取写锁, 否则会导致永久等待) 3.重入时可以降级锁(有写锁时, 可以获得读锁) Rwl.readLock.unlock() //必须先把读锁释放掉才能拿写锁 Rwl.writeLock.lo StampedLock 概述 ReentrantReadWriteLock Plus,读多写少 工作机制 SemaPhore - 信号量 <table <colgroup <col style="width: 3%" / <col style="width: 96%" / </colgroup <thea... CountDownLatch - 倒计时锁 6\. CountDownLatch倒计时锁 CycliBarrier 7\. CycliBarrier 线程安全集合类 概述 第一大类:用synchronized实现 Hashtable,vector 第二大类: Collections中用装饰器模式 写的,本质还是调用用普通的类(map...) 方法, 但是为其每个方法添加了synchronized 第三大类:J.U.C: Blocking, concurrent,CopyOnwrite 总结 · 4. 无锁并发 数据库连接池 · 5.不可变类 2\. 数据库连接池 final原理 · 5.不可变类 原理: 加入写屏障 1 一、final 变量 final 变量的语义: 只能被赋值一次。 这意味着变量的引用或值一旦确定,就不能被重新绑定。 确保可见性。 当对象的字段是 final 时,其他线程在看到这个对象引用时,一定能看到这些 final 字段的正确值(即构造函数中写入的值)。 1. 内存模型下的写屏障(Write Barrier)与读屏障(Read ThreadPoolExecutor · 8.1 线程池 1.线程池状态 2 构造方法 3.拒绝策略 常用线程池 及其API · 8.1 线程池 1.newFixedThreadPool 2.newCachedThreadPool 适合任务分布密集, 但是耗时短的 3.newSingleThreadExecutor 确保始终有一个线程可用, 并且有兜底策略 基于装饰者模式,通过强制类型转换只对外暴露接口,使得ThreadPoolExecutor的方法不可用 其参数不可变 异步模式 · 8.1 线程池 | 定义 | | ||| 总结 数据库连接池 2\. 数据库连接池 final原理 原理: 加入写屏障 1 一、final 变量 final 变量的语义: 只能被赋值一次。 这意味着变量的引用或值一旦确定,就不能被重新绑定。 确保可见性。 当对象的字段是 final 时,其他线程在看到这个对象引用时,一定能看到这些 final 字段的正确值(即构造函数中写入的值)。 1. 内存模型下的写屏障(Write Barrier)与读屏障(Read ThreadPoolExecutor 1.线程池状态 2 构造方法 3.拒绝策略 常用线程池 及其API 1.newFixedThreadPool 2.newCachedThreadPool 适合任务分布密集, 但是耗时短的 3.newSingleThreadExecutor 确保始终有一个线程可用, 并且有兜底策略 基于装饰者模式,通过强制类型转换只对外暴露接口,使得ThreadPoolExecutor的方法不可用 其参数不可变 异步模式 | 定义 | | ||| 可见性 & Volatile · 3. JMM 可见性: 子线程将共享变量保存在自己工作内存的高速缓存中, 导致主线程对共享变量修改时,子线程不可见,读的仍旧是旧数据 解决不可见性问题方案 1.Volatile: 易变的 关键字修饰 2.synchonized 需要monitor, 重量级锁性能差,不推荐 保证可见性的原理: 每次加锁之前会将变量从主内存读取到工作缓存中, 每次解锁之前会将变量的值同步回主 有序性 · 3. JMM Cas & volatile · 4. 无锁并发 1\. Cas & volatile 原子类 · 4. 无锁并发 基于cas设计的工具类 原子整数 原子引用 类名 描述 AtomicInteger 原子地操作 int 类型的值。 AtomicLong 原子地操作 long 类型的值。 AtomicBoolean 原子地操作 boolean 类型的值。 AtomicReference&lt;V&gt; 原子地操作引用类型的值(对象)。 AtomicIntegerArray LongAdder源码 · 4. 无锁并发 3\. LongAdder源码 Unsafe对象 · 4. 无锁并发 4\. Unsafe对象 可见性 & Volatile 可见性: 子线程将共享变量保存在自己工作内存的高速缓存中, 导致主线程对共享变量修改时,子线程不可见,读的仍旧是旧数据 解决不可见性问题方案 1.Volatile: 易变的 关键字修饰 2.synchonized 需要monitor, 重量级锁性能差,不推荐 保证可见性的原理: 每次加锁之前会将变量从主内存读取到工作缓存中, 每次解锁之前会将变量的值同步回主 有序性 Cas & volatile 1\. Cas & volatile 原子类 基于cas设计的工具类 原子整数 原子引用 类名 描述 AtomicInteger 原子地操作 int 类型的值。 AtomicLong 原子地操作 long 类型的值。 AtomicBoolean 原子地操作 boolean 类型的值。 AtomicReference&lt;V&gt; 原子地操作引用类型的值(对象)。 AtomicIntegerArray LongAdder源码 3\. LongAdder源码 Unsafe对象 4\. Unsafe对象 Wait - notify · 2. 并发之共享模型 4\. Waitnotify parkunpark · 2. 并发之共享模型 5.park / unpark 活跃度 && reentranlock · 2. 并发之共享模型 | 类型 | 解决方案 | ||| | 1.死锁:互相等待对方释放临界资源,导致现场的阻塞 | 顺序取锁,一次性取ab锁 | | 2.活锁:两个线程的执行逻辑和终止逻辑互斥,导致线程一直活着 | 交错执行 | | 3.饥饿:由于顺序取锁导致某些线程一直无法获得cpu执行权 | | 模式 · 2. 并发之共享模型 (保护性暂停, 没得到结果就放掉锁对象,不要占着茅坑不拉屎) Wait - notify 4\. Waitnotify parkunpark 5.park / unpark 活跃度 && reentranlock | 类型 | 解决方案 | ||| | 1.死锁:互相等待对方释放临界资源,导致现场的阻塞 | 顺序取锁,一次性取ab锁 | | 2.活锁:两个线程的执行逻辑和终止逻辑互斥,导致线程一直活着 | 交错执行 | | 3.饥饿:由于顺序取锁导致某些线程一直无法获得cpu执行权 | | 模式 (保护性暂停, 没得到结果就放掉锁对象,不要占着茅坑不拉屎) 进程与线程 · 1. 多线程基础 程序=数据结构 + 算法 进程 是程序的实例, 有多个线程组成(执行指令) 线程 并发:同时出发,交替执行 并行:同时运行(需要多核cpu) (多cpu才能提高效率,单cpu上下文切换效率更慢一点) 同步 同一线程等待输出结果 异步 主线程不等待结果,开启子线程来得到输出结果 栈帧 为方法开辟的内存 创建线程的方法 · 1. 多线程基础 2.Runnable+Thread 无返回值 实际上Thread有一个静态内部类Holder, 它有一个Runnable字段成员target, Thread.start()调用的是target的run方法 而这个target由传递进来的runnable赋值 关于线程的常见方法 · 1. 多线程基础 | Start只一次 | 启动到就绪, start是开启父线程去执行run方法 | | | | | Run | 直接调用由主线程运行 | | Join | 等待线程结束,获得线程结果 | | Getid/getname/setname | thread | | Get/setpriority | | | Getstatus | | | isinterrupt 设计模式 · 1. 多线程基础 2 如何优雅的停掉一个线程? 错误方法e 两阶段终止 isInterrupted = true&gt;料理后事,然后结束 =false &gt;未捕捉到异常则继续监控/捕捉到则设isInterrupted=true interrupted方法 返回isinterrupt(),并且会重置为false LockSupport.park() 会短暂的暂停,但是只有is 线程状态 · 1. 多线程基础 阻塞状态:IO操作 操作系统层面的五种状态: 小结 · 1. 多线程基础 不同线程读共享资源 · 2. 并发之共享模型 1\. 不同线程读共享资源 局部变量线程安全分析 · 2. 并发之共享模型 2\. 局部变量线程安全分析 synchronized原理 · 2. 并发之共享模型 3\. synchronized原理 Synchronized - 对象锁 · 关键字 语法: 最初最好对对象进行封装 Synchronized(对象){ 临界区代码 } 方法上的synchronized 加在普通方法上: 锁住类对象 加在静态方法上: 锁住类的字节码对象(共享且唯一) 作用 1.保证此处的代码执行的原子性,不会有多个线程来搞 但是内部代码仍然可能出现指令的重排序 2.加锁会清缓存,解锁会把缓存写进主存 去了解一下 JMM 的八 Volatile · 关键字 | Preknowledge | | ||| 进程与线程 程序=数据结构 + 算法 进程 是程序的实例, 有多个线程组成(执行指令) 线程 并发:同时出发,交替执行 并行:同时运行(需要多核cpu) (多cpu才能提高效率,单cpu上下文切换效率更慢一点) 同步 同一线程等待输出结果 异步 主线程不等待结果,开启子线程来得到输出结果 栈帧 为方法开辟的内存 创建线程的方法 2.Runnable+Thread 无返回值 实际上Thread有一个静态内部类Holder, 它有一个Runnable字段成员target, Thread.start()调用的是target的run方法 而这个target由传递进来的runnable赋值 关于线程的常见方法 | Start只一次 | 启动到就绪, start是开启父线程去执行run方法 | | | | | Run | 直接调用由主线程运行 | | Join | 等待线程结束,获得线程结果 | | Getid/getname/setname | thread | | Get/setpriority | | | Getstatus | | | isinterrupt 设计模式 · 1. 多线程基础 如何优雅的停掉一个线程? 错误方法e 两阶段终止 isInterrupted = true&gt;料理后事,然后结束 =false &gt;未捕捉到异常则继续监控/捕捉到则设isInterrupted=true interrupted方法 返回isinterrupt(),并且会重置为false LockSupport.park() 会短暂的暂停,但是只有is 线程状态 阻塞状态:IO操作 操作系统层面的五种状态: 小结 不同线程读共享资源 1\. 不同线程读共享资源 局部变量线程安全分析 2\. 局部变量线程安全分析 synchronized原理 3\. synchronized原理 Synchronized - 对象锁 语法: 最初最好对对象进行封装 Synchronized(对象){ 临界区代码 } 方法上的synchronized 加在普通方法上: 锁住类对象 加在静态方法上: 锁住类的字节码对象(共享且唯一) 作用 1.保证此处的代码执行的原子性,不会有多个线程来搞 但是内部代码仍然可能出现指令的重排序 2.加锁会清缓存,解锁会把缓存写进主存 去了解一下 JMM 的八 Volatile | Preknowledge | | ||| 垃圾回收算法 · 基础篇 评价标准 1.堆内存使用效率 2.STW时间 3.执行业务代码时间占比 why 1.标记清除: 产生内存碎片, 遍历堆速度慢. 2.标记复制 3.标记压缩 ===== 4.分代GC GC类型指清理类型:会用可达性分析类型 新生代寿命短,复制消耗不高, 因此复制算法 老年代空间大对象多寿命长, 复制成本高 Key: TLAB:线程本地堆 垃圾回收器 · 基础篇 组合 parNew 复制多线程 Serial: 复制 SerialOld: 标记整理 CMS: Concurrent 同时发生, 只清除不整理, 因此想要分配对象(连续空间)就得连续空间,需要调用SerialOld帮忙整理出来 执行步骤 吞吐量 &amp;&amp; 停顿时间 吞吐量= app/(app+gcTime) G1垃圾回收器: G1 本质是 分区 内存泄漏内存溢出 · 实战篇 1.内存泄漏/内存溢出 垃圾回收算法 评价标准 1.堆内存使用效率 2.STW时间 3.执行业务代码时间占比 why 1.标记清除: 产生内存碎片, 遍历堆速度慢. 2.标记复制 3.标记压缩 ===== 4.分代GC GC类型指清理类型:会用可达性分析类型 新生代寿命短,复制消耗不高, 因此复制算法 老年代空间大对象多寿命长, 复制成本高 Key: TLAB:线程本地堆 垃圾回收器 组合 parNew 复制多线程 Serial: 复制 SerialOld: 标记整理 CMS: Concurrent 同时发生, 只清除不整理, 因此想要分配对象(连续空间)就得连续空间,需要调用SerialOld帮忙整理出来 执行步骤 吞吐量 &amp;&amp; 停顿时间 吞吐量= app/(app+gcTime) G1垃圾回收器: G1 本质是 分区 内存泄漏内存溢出 1.内存泄漏/内存溢出 类的生命周期 · 基础篇 阶段 加载,连接(验证,准备,解析),初始化, 使用,卸载 加载 1.类加载器获取字节码信息 2.加载完类后, jvm将字节码信息放在方法区(Metaspace/永久代) 3.生成InstanceKlass对象 保存各种信息 4.提供class对象 (便于利用反射) ============== ============== 连接 验证: 1.cafebab 类加载器 · 基础篇 Why Bootstrap 让bootstrap加载自己写的jar包,1.放进lib 2.添加vm参数 Extension : /jre/lib/ext Application: classpath Extension:参数添加,要防止覆盖!! 双亲委派机制:谁来加载类 1.确保加载的安全 2.避免重复 执行: 向上传递,加载过直接返回. 都没加载过(Cla 运行时数据区 - 程序计数器 · 基础篇 1.what 记录下一天字节码指令的地址 问 栈 · 基础篇 存 slot有限因此复用, {}完即完 Slot 方法区 · 基础篇 方法区 存储类的元信息 运行时常量池: 直接通过内存地址访问 符号引用到内存引用 在加载和链接阶段完成 建议 ShouldKnow · 基础篇 1.InstanceKlass(binary) && Class 类的生命周期 阶段 加载,连接(验证,准备,解析),初始化, 使用,卸载 加载 1.类加载器获取字节码信息 2.加载完类后, jvm将字节码信息放在方法区(Metaspace/永久代) 3.生成InstanceKlass对象 保存各种信息 4.提供class对象 (便于利用反射) ============== ============== 连接 验证: 1.cafebab 类加载器 Why Bootstrap 让bootstrap加载自己写的jar包,1.放进lib 2.添加vm参数 Extension : /jre/lib/ext Application: classpath Extension:参数添加,要防止覆盖!! 双亲委派机制:谁来加载类 1.确保加载的安全 2.避免重复 执行: 向上传递,加载过直接返回. 都没加载过(Cla 运行时数据区 - 程序计数器 1.what 记录下一天字节码指令的地址 问 存 slot有限因此复用, {}完即完 Slot 方法区 方法区 存储类的元信息 运行时常量池: 直接通过内存地址访问 符号引用到内存引用 在加载和链接阶段完成 建议 ShouldKnow 1.InstanceKlass(binary) && Class 类加载器 · 多新鲜啊 2 What 三大阶段 类加载体系 双亲委派机制防止传递假冒的jdk核心类 层层上抛, 只要父类发现自己能加载就加载, (这样如果传递的是jdk的核心类,就会被父类加载) 一旦父类加载, 子类就不会再加载, 如果父类加载不了, 就会下发还给子类 (其实一定程度上确保了先加载核心类, 再加载拓展类, 最后加载自定义类) 类加载器 · 多新鲜啊 What 三大阶段 类加载体系 双亲委派机制防止传递假冒的jdk核心类 层层上抛, 只要父类发现自己能加载就加载, (这样如果传递的是jdk的核心类,就会被父类加载) 一旦父类加载, 子类就不会再加载, 如果父类加载不了, 就会下发还给子类 (其实一定程度上确保了先加载核心类, 再加载拓展类, 最后加载自定义类) assert断言 · 多新鲜啊 语法形式 java assert condition; // 形式1 assert condition : message; // 形式2,带错误信息 java 如果 condition 为 true,程序继续运行; 如果为 false,抛出一个 AssertionError; 第二种形式还可以打印出错误信息。 开启方式 默认是关闭的,必须加java ea Integer · 数据类型 1.两种创建方式 自动装箱 java Integer a = 100;&gt;编译器会自动转为 Integer a = Integer.valueOf(100); 基于享元模式 Integer中有一个静态内部类IntegerCache 缓存了[128,127]的数 调用 Integer.valueOf(a) 并且判断是否有缓存, 有则走,无则放弃 显式new assert断言 语法形式 java assert condition; // 形式1 assert condition : message; // 形式2,带错误信息 java 如果 condition 为 true,程序继续运行; 如果为 false,抛出一个 AssertionError; 第二种形式还可以打印出错误信息。 开启方式 默认是关闭的,必须加java ea Integer 1.两种创建方式 自动装箱 java Integer a = 100;&gt;编译器会自动转为 Integer a = Integer.valueOf(100); 基于享元模式 Integer中有一个静态内部类IntegerCache 缓存了[128,127]的数 调用 Integer.valueOf(a) 并且判断是否有缓存, 有则走,无则放弃 显式new 联系与对比 1.client, repbuffer, repbacklogbuffer 联系与对比 · 二. Redis 1.client, repbuffer, repbacklogbuffer 集群模式 1.1 集群中每一个实例都保存了散列插槽(16384)\节点的映射(固定大小), 使得当client在一个实例中访问不属于它的key时,该实例能够有纠正客户端路由到正确节点的能力(MOVED响应) (相互连接的实例之间会进行哈希槽信息互换hash槽扩散) 主从模式 3.1 为什么主从复制到时候用RDB而不用AOF a.RDB 文件是二进制文件,无论是要把 RDB 写入磁盘,还是要通过网络传输 RDB,IO 效率都比记录和传输 AOF 的高。 b.在从库端进行恢复时,用 RDB 的恢复效率要高于用 AOF。 零散碎片 4.1 client对象 集群模式 · 二. Redis 1.1 集群中每一个实例都保存了散列插槽(16384)\节点的映射(固定大小), 使得当client在一个实例中访问不属于它的key时,该实例能够有纠正客户端路由到正确节点的能力(MOVED响应) (相互连接的实例之间会进行哈希槽信息互换hash槽扩散) 主从模式 · 二. Redis 3.1 为什么主从复制到时候用RDB而不用AOF a.RDB 文件是二进制文件,无论是要把 RDB 写入磁盘,还是要通过网络传输 RDB,IO 效率都比记录和传输 AOF 的高。 b.在从库端进行恢复时,用 RDB 的恢复效率要高于用 AOF。 零散碎片 · 二. Redis 4.1 client对象 Group concat函数 GROUPCONCAT() 是 MySQL 里一个聚合函数(aggregate function), 有点像 SUM()、COUNT(),但它不是做数值计算, 而是——把一组行的字符串拼接成一个字符串。 可以把它想象成 SQL 世界里的“字符串版 sum()”。 Group concat函数 · 总结 GROUPCONCAT() 是 MySQL 里一个聚合函数(aggregate function), 有点像 SUM()、COUNT(),但它不是做数值计算, 而是——把一组行的字符串拼接成一个字符串。 可以把它想象成 SQL 世界里的“字符串版 sum()”。 Lua脚本 虽然上一节,我们利用给锁加标识验证的方法解决了 由于首个线程堵塞,锁提前释放, 但是首个线程最后仍然执行unlock而误删别的线程的锁的问题 Lua脚本 · Redis详解 虽然上一节,我们利用给锁加标识验证的方法解决了 由于首个线程堵塞,锁提前释放, 但是首个线程最后仍然执行unlock而误删别的线程的锁的问题
九月 126 篇
自定义快捷键 · 快捷键 Pg up 运行 Pg dn 调试 Home+ delete新建类 Home+end 新建软件包 Optional类 · 多新鲜啊 容器类 \ 但是只能装一个value \ 因此更多是检验一个元素是否存在于容器之中 由于null经常引起代码的出错,导致崩溃 所以java特意定义一个容器类以减少空指针报错,明确表示一个值的缺失 Plan b 利用Optional类的方法,用以获取数据和 遇到数据为null时获得默认值\else方法 查找与判断 | Filter(predicate pre).findAny() | 返回任意一个满足pre的value | ||| | Filter(predicate pre).findFirst() | 返回第一个满足pre的value | | boolean Stream.anyMatch(lambda) | 检测流中是否有满足lambda的 | | boolea 自定义快捷键 Pg up 运行 Pg dn 调试 Home+ delete新建类 Home+end 新建软件包 Optional类 容器类 \ 但是只能装一个value \ 因此更多是检验一个元素是否存在于容器之中 由于null经常引起代码的出错,导致崩溃 所以java特意定义一个容器类以减少空指针报错,明确表示一个值的缺失 Plan b · Stream 利用Optional类的方法,用以获取数据和 遇到数据为null时获得默认值\else方法 查找与判断 · Stream | Filter(predicate pre).findAny() | 返回任意一个满足pre的value | ||| | Filter(predicate pre).findFirst() | 返回第一个满足pre的value | | boolean Stream.anyMatch(lambda) | 检测流中是否有满足lambda的 | | boolea 遍历方式 traverse · Collection体系 1. 迭代器 用Collection集合获取一个迭代器对象(默认指向集合的第一个元素) 然后用迭代器对象进行遍历 String · 数据类型 1. String.valueOf(obj) 将 obj==null ? "null" : obj.toString 构建流 创建Stream对象 遍历方式 traverse 1. 迭代器 用Collection集合获取一个迭代器对象(默认指向集合的第一个元素) 然后用迭代器对象进行遍历 String 1. String.valueOf(obj) 将 obj==null ? "null" : obj.toString 构建流 · Stream 创建Stream对象 简单流 写一个SimpleStream 闭包 闭包解决的是 函数执行环境可能已经消失, 仍然需要访问原局部变量 的问题 简单流 · 第二章 写一个SimpleStream 闭包 · 第二章 闭包解决的是 函数执行环境可能已经消失, 仍然需要访问原局部变量 的问题 方法引用 将现有方法的调用转化为方法对象 方法引用 · 第二章 将现有方法的调用转化为方法对象 mid - 全局唯一ID & 登录校验 生成全局唯一ID的策略: UUID Redis自增 snowflake算法 数据库自增 mid - 缓存更新策略 缓存更新策略 | | 内存淘汰 | 超时删除 | 主动更新 | | | | | | | 说明 | 不用自己维护,利用Redis的内存淘汰机制,当内存不足时自动淘汰部分数据。下次查询时更新缓存。 | 给缓存数据添加TTL时间,到期后自动删除缓存。下次查询时更新缓存。 | 编写业务逻辑,在修改数据库的同时,更新缓存。 | | 一致性 | 差 | 一般 | 好 | mid - 缓存穿透 & 击穿 & 雪崩 缓存就是数据交换的缓冲区, 是存贮数据的临时地,一般读写性能较高 MyBug 你的报错与需要学习的地方 mid - 全局唯一ID & 登录校验 · Redis 生成全局唯一ID的策略: UUID Redis自增 snowflake算法 数据库自增 mid - 缓存更新策略 · Redis 缓存更新策略 | | 内存淘汰 | 超时删除 | 主动更新 | | | | | | | 说明 | 不用自己维护,利用Redis的内存淘汰机制,当内存不足时自动淘汰部分数据。下次查询时更新缓存。 | 给缓存数据添加TTL时间,到期后自动删除缓存。下次查询时更新缓存。 | 编写业务逻辑,在修改数据库的同时,更新缓存。 | | 一致性 | 差 | 一般 | 好 | mid - 缓存穿透 & 击穿 & 雪崩 · Redis 缓存就是数据交换的缓冲区, 是存贮数据的临时地,一般读写性能较高 MyBug · Redis 你的报错与需要学习的地方 basic - Redis in Java 2. 建立连接 java private Jedis jedis; @BeforeEachvoid setUp() { //建立连接 jedis = new Jedis("192.168.150.101", 6379); //设置密码 jedis.auth("123321"); //选择库 jedis.select(0); } basic - 数据类型 数据类型 9:16 基于内存的键值型NoSQL数据库, Remote Dictionary Server basic - Redis in Java · Redis 2. 建立连接 java private Jedis jedis; @BeforeEachvoid setUp() { //建立连接 jedis = new Jedis("192.168.150.101", 6379); //设置密码 jedis.auth("123321"); //选择库 jedis.select(0); } basic - 数据类型 · Redis 数据类型 9:16 基于内存的键值型NoSQL数据库, Remote Dictionary Server Maven高级 · 后端高级 一.按模块开发: 大项目拆解成模块 SpringBoot原理 · 后端高级 三种配置文件:properties , yaml, yml 2025915 · 总结 Maven高级 一.按模块开发: 大项目拆解成模块 SpringBoot原理 三种配置文件:properties , yaml, yml 2025915 AOP · 后端高级 通知类型 Object AOP 通知类型 Object 学员管理实战部分 · 后端实战 1. @PathVariable注解 学员管理实战部分 1. @PathVariable注解 断点的种类 · Debug断点调试 2. 详细端点(源断点) 代码的快捷键 · 快捷键 1. .sout 2. .for 增强for 全局异常处理器 · 后端实战 并且返回异常是从精确到宽泛的 员工信息统计 · 后端实战 职位统计 --- 流程控制函数的使用 性别统计 删除员工 · 后端实战 修改员工 1. 数据回显 修改员工 · 后端实战 1. 数据回显 员工的基本信息和员工的工作经历信息 如果一个员工有多段工作经历 断点的种类 2. 详细端点(源断点) 代码的快捷键 1. .sout 2. .for 增强for 全局异常处理器 并且返回异常是从精确到宽泛的 员工信息统计 职位统计 --- 流程控制函数的使用 性别统计 删除员工 修改员工 1. 数据回显 修改员工 1. 数据回显 员工的基本信息和员工的工作经历信息 如果一个员工有多段工作经历 事务管理 · 后端实战 ACID 原子性,隔离性,一致性,持久性 原子弹一旦爆炸,就要隔离,长期有效 文件上传 · 后端实战 事务管理 ACID 原子性,隔离性,一致性,持久性 原子弹一旦爆炸,就要隔离,长期有效 文件上传 日志技术 · 后端实战 一 . JUL 二. Log4j 三. Logback 四.Sl4fj 多表关系 & 多表查询 · 后端实战 二.一对一(用户和身份证) 员工管理 · 后端实战 一 .分页查询展示员工信息 Limit 起始索引,每页记录数; 起始索引=(页码1)\每页记录数 其中起始索引从0开始算, 并且是以id计数 比如我每页有5个id, 我想查第一页就是 limit 0,5 我想查第二页 就是 limit 5,5 我想查第三页 就是 limit 10,5 日志技术 一 . JUL 二. Log4j 三. Logback 四.Sl4fj 多表关系 & 多表查询 二.一对一(用户和身份证) 员工管理 一 .分页查询展示员工信息 Limit 起始索引,每页记录数; 起始索引=(页码1)\每页记录数 其中起始索引从0开始算, 并且是以id计数 比如我每页有5个id, 我想查第一页就是 limit 0,5 我想查第二页 就是 limit 5,5 我想查第三页 就是 limit 10,5 SpringBoot配置文件 · 后端基础 1. yml配置文件 注意value是开头的话,要''包围 不然会被认为是8进制文件 `准备工作 · 后端实战 1. 请求方式: Restful接口(post,delete,put,get) 部门管理 · 后端实战 java 总结 抽取公共路径 UnknowPoint · 后端实战 一.部门管理 1. @ResponseBody注解的作用 将方法的返回值直接作为响应数据响应给前端,如果返回值是一个对象或者是一个集合,就会先转化为JSON,再响应给前端 SpringBoot配置文件 1. yml配置文件 注意value是开头的话,要''包围 不然会被认为是8进制文件 `准备工作 1. 请求方式: Restful接口(post,delete,put,get) 部门管理 java 总结 抽取公共路径 UnknowPoint 一.部门管理 1. @ResponseBody注解的作用 将方法的返回值直接作为响应数据响应给前端,如果返回值是一个对象或者是一个集合,就会先转化为JSON,再响应给前端 未命名 · 前端基础 刷题 GROUP BY 是把相同列值的行 划分到一个组 Cross join会将表a的每一项都和表b的每一项配对产生笛卡尔积 如果要查询的项是一张没有构建的表的,那么就要嵌套查询并且给该表其名 这是子查询 from ( select Manager.Name as Name, count(reporter.Id) as cnt from Employee as M 未命名 刷题 · 总结 GROUP BY 是把相同列值的行 划分到一个组 Cross join会将表a的每一项都和表b的每一项配对产生笛卡尔积 如果要查询的项是一张没有构建的表的,那么就要嵌套查询并且给该表其名 这是子查询 from ( select Manager.Name as Name, count(reporter.Id) as cnt from Employee as M Ajax · 前端基础 axios就是提供给用户异步操作的 Javascript · 前端基础 二.基础语法 1. 区分大小写 2. 行分号可有可无 3. 4. 5. 变量 VUE · 前端基础 一. 什么是vue 简化dom模型 Maven · 后端基础 一 . 用于管理和构建JAVA项目的工具 优点: 1\. MyBatis · 后端基础 数据库连接池 连接到复用 Web开发 · 后端基础 一.Springboot光速入门 Ajax axios就是提供给用户异步操作的 Javascript 二.基础语法 1. 区分大小写 2. 行分号可有可无 3. 4. 5. 变量 VUE 一. 什么是vue 简化dom模型 Maven 一 . 用于管理和构建JAVA项目的工具 优点: 1\. MyBatis 数据库连接池 连接到复用 Web开发 一.Springboot光速入门 HTML · 前端基础 1. 排版 px是像素点 JDBC 数据库连接池 · 后端基础 JDBC的API · 后端基础 一. DriverManager 驱动管理类 JDbC简介&快速入门 · 后端基础 步骤: 主从复制 · 运维篇 2.原理 io读取二进制并且写入中继日志 分库分表 · 运维篇 a.垂直拆分 (拆结构) 总结 · 运维篇 读写分离 一主一从 1. 主从准备进行关联 2. 一主一从读写分离 HTML 1. 排版 px是像素点 JDBC 数据库连接池 JDBC的API 一. DriverManager 驱动管理类 JDbC简介&快速入门 步骤: 主从复制 · 运维篇 2 2.原理 io读取二进制并且写入中继日志 分库分表 · 运维篇 2 a.垂直拆分 (拆结构) 总结 · 运维篇 2 读写分离 · 运维篇 一主一从 1. 主从准备进行关联 2. 一主一从读写分离 日志 二. 二进制日志 注意: 二进制日志不包含查询数据的sql语句 InnoDB引擎 2. Change buffer 缓冲区先堆积 一定程度后就一起传过去 减少IO 后续所有操作先去缓冲区 MySQL管理 2. Mysql•admin 视图存储过程触发器 视图/存储过程/触发器 二. 表级锁 介绍及其分类 日志 · 运维篇 二. 二进制日志 注意: 二进制日志不包含查询数据的sql语句 InnoDB引擎 · 进阶篇 2. Change buffer 缓冲区先堆积 一定程度后就一起传过去 减少IO 后续所有操作先去缓冲区 MySQL管理 · 进阶篇 2. Mysql•admin 视图存储过程触发器 · 进阶篇 视图/存储过程/触发器 锁 · 进阶篇 二. 表级锁 介绍及其分类 事务 Start transaction java Commit ; Rollback ; (执行事务过程中发生异常就会进行回滚事务) 函数 9:37 字符串函数 多表查询 左连接和右连接的区别 左连接(LEFT JOIN):保留左表全部行,如果右表没有匹配,就补 NULL。 右连接(RIGHT JOIN):保留右表全部行,如果左表没有匹配,就补 NULL。 内连接(INNER JOIN):只保留两边都能匹配上的行。 所以本质区别就在于:有没有保留没匹配上的记录。 SQL优化 1. insert优化 性能不高, 不能插入大量数据 存储引擎 三大特性: 事务, 行级锁, 外键 索引 帮助MySQL高效获取数据的数据结构 事务 · 基础篇 Start transaction java Commit ; Rollback ; (执行事务过程中发生异常就会进行回滚事务) 函数 · 基础篇 9:37 字符串函数 多表查询 · 基础篇 左连接和右连接的区别 左连接(LEFT JOIN):保留左表全部行,如果右表没有匹配,就补 NULL。 右连接(RIGHT JOIN):保留右表全部行,如果左表没有匹配,就补 NULL。 内连接(INNER JOIN):只保留两边都能匹配上的行。 所以本质区别就在于:有没有保留没匹配上的记录。 SQL优化 · 进阶篇 1. insert优化 性能不高, 不能插入大量数据 存储引擎 · 进阶篇 三大特性: 事务, 行级锁, 外键 索引 · 进阶篇 帮助MySQL高效获取数据的数据结构
2026/07/12 2 次提交 · 868 篇修订
  1. 96eb3dcf moved sync: obsidian 4eaaab9
    444
    1. README updated
    2. index · onenotes updated
    3. index · algorithm updated
    4. index · 快捷键 updated
    5. index · java原理 updated
    6. index · java-see updated
    7. index · 前端基础 updated
    8. index · 后端基础 updated
    9. index · 后端实战 updated
    10. index · 后端高级 updated
    11. index · juc updated
    12. index · juc 2 updated
    13. index · 1-多线程基础 updated
    14. index · 2-并发之共享模型 updated
    15. index · 4-无锁并发 updated
    16. index · 5-不可变类 updated
    17. index · 8-1-线程池 updated
    18. index · 8-2-j-u-c-原理 updated
    19. index · 基础篇 updated
    20. index · tojava updated
    21. index · 关键字 updated
    22. index · 多新鲜啊 updated
    23. index · 旁生枝茎 updated
    24. index · linux updated
    25. index · shell-learn updated
    26. index · realityresearch updated
    27. index · 技术栈 updated
    28. index · ai-agent updated
    29. index · essay updated
    30. index · netty updated
    31. index · stream updated
    32. index · 三-juc updated
    33. index · 设计模式 updated
    34. index · mysql updated
    35. index · 基础篇 2 updated
    36. index · 总结 2 updated
    37. index · 进阶篇 updated
    38. index · redis 2 updated
    39. index · redis详解 updated
    40. index · springboot3 updated
    41. index · ssm框架 2 updated
    42. AGPL3 updated
    43. AUTHORS updated
    44. README · ru updated
    45. CODE OF CONDUCT updated
    46. CONTRIBUTING updated
    47. README · zh-CN updated
    48. README · languages updated
    49. LICENSE updated
    50. README · next updated
    51. LeetCode MySQL 50 速刷题解 updated
    52. MySQL 面试上机语法函数速查 updated
    53. LeetCode MySQL 50 速刷题解 · MySQL updated
    54. MySQL 面试上机语法函数速查 · MySQL updated
    55. Java后端转Agent学习路线 updated
    56. MCP专题学习笔记 updated
    57. RAG与Agent工程 updated
    58. 项目实战清单 updated
    59. 每周推进计划 updated
    60. AI工程基础入门到精通 updated
    61. Agent CLI源码剖析 - 全局架构与数据流 updated
    62. Agent CLI源码剖析 - 主循环与状态机 updated
    63. Agent CLI源码剖析 - 工具系统安全边界 updated
    64. Agent CLI源码剖析 - 上下文工程与记忆系统 updated
    65. Agent CLI源码剖析 - MCP传输与扩展生态 updated
    66. Agent CLI深水区 - 完整最小实现地图 updated
    67. Agent CLI深水区 - QueryEngine状态机 updated
    68. Agent CLI深水区 - 工具执行器权限审计 updated
    69. Agent CLI深水区 - 上下文预算压缩记忆 updated
    70. Agent CLI深水区 - MCP生命周期传输层 updated
    71. Agent CLI深水区 - 模型适配器与流式解析 updated
    72. Agent CLI深水区 - 编辑器Diff与补丁引擎 updated
    73. Agent CLI深水区 - 搜索系统与代码上下文 updated
    74. Agent CLI深水区 - 命令技能插件系统 updated
    75. Agent CLI深水区 - TraceEval调试体系 updated
    76. Agent CLI深水区 - 从输入到落盘全链路复盘 updated
    77. README · demo updated
    78. Agent Memory 21篇论文学习路线 updated
    79. MemGPT - Towards LLMs as Operating Systems updated
    80. MemoryBank - Long Term Memory with Forgetting updated
    81. Zep - Temporal Knowledge Graph Memory updated
    82. A - MEM - Agentic Memory updated
    83. Mem0 - Production Ready Long Term Memory updated
    84. MemOS - Memory OS for AI System updated
    85. MIRIX - Multi Agent Memory System updated
    86. HippoRAG - Neurobiological Long Term Memory updated
    87. Generative Agents - Memory Stream updated
    88. Voyager - Skill Library as Memory updated
    89. Memorizing Transformers - KNN Memory updated
    90. MemoryLLM - Self Updatable LLM updated
    91. Memory3 - Explicit Memory updated
    92. WISE - Lifelong Model Editing updated
    93. Titans - Learning to Memorize at Test Time updated
    94. Memory in the Age of AI Agents updated
    95. Agent Memory Survey updated
    96. CoALA - Cognitive Architectures for Language Agents updated
    97. Multimodal Memory Survey updated
    98. Reflexion - Verbal Reinforcement Learning updated
    99. MemLong - Long Context Memory Retrieval updated
    100. README · AI Agent updated
    101. Java后端转Agent学习路线 · AI Agent updated
    102. MCP专题学习笔记 · AI Agent updated
    103. RAG与Agent工程 · AI Agent updated
    104. 项目实战清单 · AI Agent updated
    105. 每周推进计划 · AI Agent updated
    106. AI工程基础入门到精通 · AI Agent updated
    107. Agent CLI源码剖析 - 全局架构与数据流 · AI Agent updated
    108. Agent CLI源码剖析 - 主循环与状态机 · AI Agent updated
    109. Agent CLI源码剖析 - 工具系统安全边界 · AI Agent updated
    110. Agent CLI源码剖析 - 上下文工程与记忆系统 · AI Agent updated
    111. Agent CLI源码剖析 - MCP传输与扩展生态 · AI Agent updated
    112. Agent CLI深水区 - 完整最小实现地图 · AI Agent updated
    113. Agent CLI深水区 - QueryEngine状态机 · AI Agent updated
    114. Agent CLI深水区 - 工具执行器权限审计 · AI Agent updated
    115. Agent CLI深水区 - 上下文预算压缩记忆 · AI Agent updated
    116. Agent CLI深水区 - MCP生命周期传输层 · AI Agent updated
    117. Agent CLI深水区 - 模型适配器与流式解析 · AI Agent updated
    118. Agent CLI深水区 - 编辑器Diff与补丁引擎 · AI Agent updated
    119. Agent CLI深水区 - 搜索系统与代码上下文 · AI Agent updated
    120. Agent CLI深水区 - 命令技能插件系统 · AI Agent updated
    121. Agent CLI深水区 - TraceEval调试体系 · AI Agent updated
    122. Agent CLI深水区 - 从输入到落盘全链路复盘 · AI Agent updated
    123. README · demo 2 updated
    124. Agent Memory 21篇论文学习路线 · essay updated
    125. MemGPT - Towards LLMs as Operating Systems · essay updated
    126. MemoryBank - Long Term Memory with Forgetting · essay updated
    127. Zep - Temporal Knowledge Graph Memory · essay updated
    128. A - MEM - Agentic Memory · essay updated
    129. Mem0 - Production Ready Long Term Memory · essay updated
    130. MemOS - Memory OS for AI System · essay updated
    131. MIRIX - Multi Agent Memory System · essay updated
    132. HippoRAG - Neurobiological Long Term Memory · essay updated
    133. Generative Agents - Memory Stream · essay updated
    134. Voyager - Skill Library as Memory · essay updated
    135. Memorizing Transformers - KNN Memory · essay updated
    136. MemoryLLM - Self Updatable LLM · essay updated
    137. Memory3 - Explicit Memory · essay updated
    138. WISE - Lifelong Model Editing · essay updated
    139. Titans - Learning to Memorize at Test Time · essay updated
    140. Memory in the Age of AI Agents · essay updated
    141. Agent Memory Survey · essay updated
    142. CoALA - Cognitive Architectures for Language Agents · essay updated
    143. Multimodal Memory Survey · essay updated
    144. Reflexion - Verbal Reinforcement Learning · essay updated
    145. MemLong - Long Context Memory Retrieval · essay updated
    146. README · AI Agent 2 updated
    147. MyFriends · Project updated
    148. MyBatis · Q & A with Arwen 2 updated
    149. 自定义Spring框架 updated
    150. MyBatisPlus updated
    151. SpringMVC updated
    152. 自定义Spring框架 · 设计模式 updated
    153. MyBatisPlus · SSM框架 updated
    154. SpringMVC · SSM框架 updated
    155. 行为型模式 updated
    156. 行为型模式 · 设计模式 updated
    157. sum - 设计原则 updated
    158. 创建者模式 updated
    159. 结构型模式 updated
    160. sum - 设计原则 · 设计模式 updated
    161. 创建者模式 · 设计模式 updated
    162. 结构型模式 · 设计模式 updated
    163. MySQL的锁 updated
    164. MySQL的锁 · MySQL updated
    165. MySQL · Q & A with Arwen 2 updated
    166. JUC · Q & A with Arwen updated
    167. Spring updated
    168. Spring · SSM框架 updated
    169. Redis - Q&A updated
    170. Redis - Q&A · Redis updated
    171. JAVA必知必会 · Algorithm updated
    172. basic - bean配置 & 注册 updated
    173. imp - SpringBoot启动 & IOC初始化 & 监听机制 updated
    174. mid - BeanDefinition + BeanFactory + IOC 核心容器 updated
    175. mid - SpringBoot配置 & 分页 & MVC updated
    176. mid - 注册参数校验 & 登录 updated
    177. basic - bean配置 & 注册 · SpringBoot3 updated
    178. imp - SpringBoot启动 & IOC初始化 & 监听机制 · SpringBoot3 updated
    179. mid - BeanDefinition + BeanFactory + IOC 核心容器 · SpringBoot3 updated
    180. mid - SpringBoot配置 & 分页 & MVC · SpringBoot3 updated
    181. mid - 注册参数校验 & 登录 · SpringBoot3 updated
    182. mid - OpenResty & 多级缓存 & 请求链路改造 updated
    183. NGINX updated
    184. mid - OpenResty & 多级缓存 & 请求链路改造 · Redis updated
    185. NGINX · Redis详解 updated
    186. basic - JVM · JVM updated
    187. deep - research - report · RealityResearch updated
    188. yori - 内存 & 网络模型 updated
    189. yori - 内存 & 网络模型 · Redis updated
    190. xh - Redisson updated
    191. xh - 超时释放 & 锁重试 & watch dog updated
    192. yori - 底层数据结构 updated
    193. yori - 持久化 & 集群 &哨兵 updated
    194. zex - kv设计 & 批处理 & 主从or集群 & 配置 updated
    195. HyperLogLog updated
    196. Redisson updated
    197. xh - Redisson · Redis updated
    198. xh - 超时释放 & 锁重试 & watch dog · Redis updated
    199. yori - 底层数据结构 · Redis updated
    200. yori - 持久化 & 集群 &哨兵 · Redis updated
    201. zex - kv设计 & 批处理 & 主从or集群 & 配置 · Redis updated
    202. HyperLogLog · Redis详解 updated
    203. Redisson · Redis详解 updated
    204. 减少Java样板代码 · JAVA原理 moved 减少Java样板代码.md → __hexo_stage/source/_posts/JAVA原理/减少Java样板代码.md
    205. xh - 秒杀 & 限购 & 锁误删 updated
    206. xh - 签到、点赞、关注、Feed 流与 GEO updated
    207. HuToolAPI updated
    208. MyBatisAPI updated
    209. 悲观锁 & 乐观锁 updated
    210. 减少Java样板代码 moved 减少Java样板代码.md → JAVA原理/减少Java样板代码.md
    211. xh - 秒杀 & 限购 & 锁误删 · Redis updated
    212. xh - 签到、点赞、关注、Feed 流与 GEO · Redis updated
    213. HuToolAPI · Redis详解 updated
    214. MyBatisAPI · Redis详解 updated
    215. 悲观锁 & 乐观锁 · Redis详解 updated
    216. 消息队列 · JAVA SEE updated
    217. back - end - GS · RealityResearch updated
    218. Cser Future · RealityResearch updated
    219. MQ高级 updated
    220. 消息队列 updated
    221. MQ高级 · RabbitMQ updated
    222. MQ基础 updated
    223. MQ基础 · RabbitMQ updated
    224. JVM - 虚拟机 · JAVA SEE updated
    225. 源码 · Algorithm updated
    226. 算法 MindMap · Algorithm updated
    227. 线程池 · 旁生枝茎 updated
    228. MindMap · JAVA原理 moved MindMap.md → __hexo_stage/source/_posts/JAVA原理/MindMap.md
    229. AQS · 旁生枝茎 2 updated
    230. CAS · 旁生枝茎 updated
    231. MindMap moved MindMap.md → JAVA原理/MindMap.md
    232. JUC - 多线程 · JAVA SEE updated
    233. Mybatis的变更 · 旁生枝茎 updated
    234. IDEA学习 快捷键拾遗 · 快捷键 updated
    235. JUC 不可变类拾遗 · 5.不可变类 updated
    236. JUC 线程池拾遗 · 8.1 线程池 updated
    237. JUC J.U.C 原理拾遗 · 8.2 J.U.C 原理 updated
    238. JVM 基础篇拾遗 · 基础篇 updated
    239. ToJAVA 代码块拾遗 · 代码块 updated
    240. ToJAVA 多新鲜啊拾遗 · 多新鲜啊 updated
    241. ToJAVA 接口拾遗 · 接口 updated
    242. ToJAVA 精简代码拾遗 · 精简代码 updated
    243. Spring Bean的生命周期 · 旁生枝茎 updated
    244. 函数式编程 Stream拾遗 updated
    245. 函数式编程 第二章拾遗 updated
    246. MySQL 基础篇拾遗 updated
    247. MySQL 总结拾遗 updated
    248. MySQL 进阶篇拾遗 updated
    249. 函数式编程 Stream拾遗 · Stream updated
    250. 函数式编程 第二章拾遗 · 第二章 updated
    251. MySQL 基础篇拾遗 · 基础篇 updated
    252. MySQL 总结拾遗 · 总结 updated
    253. MySQL 进阶篇拾遗 · 进阶篇 updated
    254. Spring & SpringBoot & MyBatis · JAVA SEE updated
    255. AOP详解 · 旁生枝茎 updated
    256. 单例Bean 与 线程安全 · 旁生枝茎 updated
    257. Spring & SpringBoot & MyBatis updated
    258. MVCC · 旁生枝茎 updated
    259. UUID vs Snowflake · 旁生枝茎 updated
    260. 主从复制 · 旁生枝茎 updated
    261. 分库分表 · 旁生枝茎 updated
    262. Netty 01 - NIO updated
    263. Netty 02 - 入门 updated
    264. Netty 03 - 进阶 updated
    265. Netty 04 - 优化与源码 updated
    266. Netty 01 - NIO · Netty updated
    267. Netty 02 - 入门 · Netty updated
    268. Netty 03 - 进阶 · Netty updated
    269. Netty 04 - 优化与源码 · Netty updated
    270. 游标分页vs传统分页 · 旁生枝茎 updated
    271. API · Algorithm updated
    272. LeetCode Hot 100 · Algorithm updated
    273. 排序 · Algorithm updated
    274. 算法笔记 · Algorithm updated
    275. MySQL · JAVA SEE updated
    276. aqs overview · JUC updated
    277. fork join example · JUC updated
    278. lightweight lock explained · JUC updated
    279. tomcat threadpool detail · JUC updated
    280. Linux课程笔记 · Linux updated
    281. Vim · Linux updated
    282. MyShell · Shell_learn updated
    283. MyShell prac · Shell_learn updated
    284. Shell第三天 - 笔记 · Shell_learn updated
    285. Shell第二天笔记 · Shell_learn updated
    286. shell第四天 - 笔记 · Shell_learn updated
    287. Redis · JAVA SEE updated
    288. 常见集合篇 · JAVA SEE updated
    289. 知识盲区 · JAVA原理 moved 知识盲区.md → __hexo_stage/source/_posts/JAVA原理/知识盲区.md
    290. Redis updated
    291. 知识盲区 moved 知识盲区.md → JAVA原理/知识盲区.md
    292. 死锁 · 9.mysum updated
    293. ThreadLocal updated
    294. Atomic updated
    295. LongAdder updated
    296. 计算机如何跑起来 updated
    297. ThreadLocal · 三. JUC updated
    298. Atomic · 三. JUC updated
    299. LongAdder · 三. JUC updated
    300. 计算机如何跑起来 · 四. book updated
    301. concurrnetHashMap原理 · 8.2 J.U.C 原理 updated
    302. tomcat线程池 · 8.1 线程池 updated
    303. AQS · 8.2 J.U.C 原理 updated
    304. ReentrantLock原理 · 8.2 J.U.C 原理 updated
    305. ReentrantReadWriteLock · 8.2 J.U.C 原理 updated
    306. StampedLock · 8.2 J.U.C 原理 updated
    307. CountDownLatch - 倒计时锁 · 8.2 J.U.C 原理 updated
    308. CycliBarrier · 8.2 J.U.C 原理 updated
    309. 线程安全集合类 · 8.2 J.U.C 原理 updated
    310. 总结 · 4. 无锁并发 updated
    311. 数据库连接池 · 5.不可变类 updated
    312. final原理 · 5.不可变类 updated
    313. ThreadPoolExecutor · 8.1 线程池 updated
    314. 常用线程池 及其API · 8.1 线程池 updated
    315. 异步模式 · 8.1 线程池 updated
    316. 可见性 & Volatile · 3. JMM updated
    317. Cas & volatile · 4. 无锁并发 updated
    318. 原子类 · 4. 无锁并发 updated
    319. LongAdder源码 · 4. 无锁并发 updated
    320. Unsafe对象 · 4. 无锁并发 updated
    321. Wait - notify · 2. 并发之共享模型 updated
    322. parkunpark · 2. 并发之共享模型 updated
    323. 活跃度 && reentranlock · 2. 并发之共享模型 updated
    324. 模式 · 2. 并发之共享模型 updated
    325. 进程与线程 · 1. 多线程基础 updated
    326. 创建线程的方法 · 1. 多线程基础 updated
    327. 关于线程的常见方法 · 1. 多线程基础 updated
    328. 设计模式 · 1. 多线程基础 2 updated
    329. 线程状态 · 1. 多线程基础 updated
    330. 小结 · 1. 多线程基础 updated
    331. 不同线程读共享资源 · 2. 并发之共享模型 updated
    332. 局部变量线程安全分析 · 2. 并发之共享模型 updated
    333. synchronized原理 · 2. 并发之共享模型 updated
    334. Synchronized - 对象锁 · 关键字 updated
    335. Volatile · 关键字 updated
    336. 垃圾回收算法 · 基础篇 updated
    337. 垃圾回收器 · 基础篇 updated
    338. 内存泄漏内存溢出 · 实战篇 updated
    339. 类的生命周期 · 基础篇 updated
    340. 类加载器 · 基础篇 updated
    341. 栈 · 基础篇 updated
    342. 方法区 · 基础篇 updated
    343. ShouldKnow · 基础篇 updated
    344. 类加载器 · 多新鲜啊 2 updated
    345. assert断言 · 多新鲜啊 updated
    346. Integer · 数据类型 updated
    347. 联系与对比 updated
    348. 联系与对比 · 二. Redis updated
    349. 集群模式 updated
    350. 主从模式 updated
    351. 零散碎片 updated
    352. 集群模式 · 二. Redis updated
    353. 主从模式 · 二. Redis updated
    354. 零散碎片 · 二. Redis updated
    355. Group concat函数 updated
    356. Group concat函数 · 总结 updated
    357. Lua脚本 updated
    358. Lua脚本 · Redis详解 updated
    359. 自定义快捷键 · 快捷键 updated
    360. Optional类 · 多新鲜啊 updated
    361. Plan b updated
    362. 查找与判断 updated
    363. Plan b · Stream updated
    364. 查找与判断 · Stream updated
    365. 遍历方式 traverse · Collection体系 updated
    366. String · 数据类型 updated
    367. 构建流 updated
    368. 构建流 · Stream updated
    369. 简单流 updated
    370. 闭包 updated
    371. 简单流 · 第二章 updated
    372. 闭包 · 第二章 updated
    373. 方法引用 updated
    374. 方法引用 · 第二章 updated
    375. mid - 全局唯一ID & 登录校验 updated
    376. mid - 缓存更新策略 updated
    377. mid - 缓存穿透 & 击穿 & 雪崩 updated
    378. MyBug updated
    379. mid - 全局唯一ID & 登录校验 · Redis updated
    380. mid - 缓存更新策略 · Redis updated
    381. mid - 缓存穿透 & 击穿 & 雪崩 · Redis updated
    382. MyBug · Redis updated
    383. basic - Redis in Java updated
    384. basic - 数据类型 updated
    385. basic - Redis in Java · Redis updated
    386. basic - 数据类型 · Redis updated
    387. Maven高级 · 后端高级 updated
    388. SpringBoot原理 · 后端高级 updated
    389. AOP · 后端高级 updated
    390. 学员管理实战部分 · 后端实战 updated
    391. 断点的种类 · Debug断点调试 updated
    392. 代码的快捷键 · 快捷键 updated
    393. 修改员工 · 后端实战 updated
    394. 事务管理 · 后端实战 updated
    395. 日志技术 · 后端实战 updated
    396. 多表关系 & 多表查询 · 后端实战 updated
    397. 员工管理 · 后端实战 updated
    398. SpringBoot配置文件 · 后端基础 updated
    399. `准备工作 · 后端实战 updated
    400. 部门管理 · 后端实战 updated
    401. UnknowPoint · 后端实战 updated
    402. 刷题 updated
    403. 刷题 · 总结 updated
    404. Ajax · 前端基础 updated
    405. Javascript · 前端基础 updated
    406. VUE · 前端基础 updated
    407. Maven · 后端基础 updated
    408. MyBatis · 后端基础 updated
    409. Web开发 · 后端基础 updated
    410. HTML · 前端基础 updated
    411. JDBC的API · 后端基础 updated
    412. JDbC简介&快速入门 · 后端基础 updated
    413. 主从复制 · 运维篇 updated
    414. 分库分表 · 运维篇 updated
    415. 总结 · 运维篇 updated
    416. 读写分离 updated
    417. 主从复制 · 运维篇 2 updated
    418. 分库分表 · 运维篇 2 updated
    419. 总结 · 运维篇 2 updated
    420. 读写分离 · 运维篇 updated
    421. 日志 updated
    422. InnoDB引擎 updated
    423. MySQL管理 updated
    424. 视图存储过程触发器 updated
    425. updated
    426. 日志 · 运维篇 updated
    427. InnoDB引擎 · 进阶篇 updated
    428. MySQL管理 · 进阶篇 updated
    429. 视图存储过程触发器 · 进阶篇 updated
    430. 锁 · 进阶篇 updated
    431. 事务 updated
    432. 函数 updated
    433. 多表查询 updated
    434. SQL优化 updated
    435. 存储引擎 updated
    436. 索引 updated
    437. 事务 · 基础篇 updated
    438. 函数 · 基础篇 updated
    439. 多表查询 · 基础篇 updated
    440. SQL优化 · 进阶篇 updated
    441. 存储引擎 · 进阶篇 updated
    442. 索引 · 进阶篇 updated
    443. DQL查询 updated
    444. DQL查询 · 基础篇 updated
  2. ad079b05 updated feat: migrate blog to New Echoes
    424
    1. MyFriends · Project updated
    2. MyFriends updated
    3. MyBatis · Q & A with Arwen 2 updated
    4. MyBatis · Q & A with Arwen updated
    5. 自定义Spring框架 updated
    6. MyBatisPlus updated
    7. SpringMVC updated
    8. 自定义Spring框架 · 设计模式 updated
    9. MyBatisPlus · SSM框架 updated
    10. SpringMVC · SSM框架 updated
    11. 行为型模式 updated
    12. 行为型模式 · 设计模式 updated
    13. sum - 设计原则 updated
    14. 创建者模式 updated
    15. 结构型模式 updated
    16. sum - 设计原则 · 设计模式 updated
    17. 创建者模式 · 设计模式 updated
    18. 结构型模式 · 设计模式 updated
    19. MySQL的锁 updated
    20. MySQL的锁 · MySQL updated
    21. MySQL · Q & A with Arwen 2 updated
    22. MySQL · Q & A with Arwen updated
    23. JUC · Q & A with Arwen updated
    24. Spring updated
    25. JUC updated
    26. Spring · SSM框架 updated
    27. Redis - Q&A updated
    28. Redis - Q&A · Redis updated
    29. JAVA必知必会 · Algorithm updated
    30. JAVA必知必会 updated
    31. basic - bean配置 & 注册 updated
    32. imp - SpringBoot启动 & IOC初始化 & 监听机制 updated
    33. mid - BeanDefinition + BeanFactory + IOC 核心容器 updated
    34. mid - SpringBoot配置 & 分页 & MVC updated
    35. mid - 注册参数校验 & 登录 updated
    36. basic - bean配置 & 注册 · SpringBoot3 updated
    37. imp - SpringBoot启动 & IOC初始化 & 监听机制 · SpringBoot3 updated
    38. mid - BeanDefinition + BeanFactory + IOC 核心容器 · SpringBoot3 updated
    39. mid - SpringBoot配置 & 分页 & MVC · SpringBoot3 updated
    40. mid - 注册参数校验 & 登录 · SpringBoot3 updated
    41. mid - OpenResty & 多级缓存 & 请求链路改造 updated
    42. NGINX updated
    43. mid - OpenResty & 多级缓存 & 请求链路改造 · Redis updated
    44. NGINX · Redis详解 updated
    45. basic - JVM · JVM updated
    46. deep - research - report · RealityResearch updated
    47. yori - 内存 & 网络模型 updated
    48. basic - JVM updated
    49. deep - research - report updated
    50. yori - 内存 & 网络模型 · Redis updated
    51. xh - Redisson updated
    52. xh - 超时释放 & 锁重试 & watch dog updated
    53. yori - 底层数据结构 updated
    54. yori - 持久化 & 集群 &哨兵 updated
    55. zex - kv设计 & 批处理 & 主从or集群 & 配置 updated
    56. HyperLogLog updated
    57. Redisson updated
    58. xh - Redisson · Redis updated
    59. xh - 超时释放 & 锁重试 & watch dog · Redis updated
    60. yori - 底层数据结构 · Redis updated
    61. yori - 持久化 & 集群 &哨兵 · Redis updated
    62. zex - kv设计 & 批处理 & 主从or集群 & 配置 · Redis updated
    63. HyperLogLog · Redis详解 updated
    64. Redisson · Redis详解 updated
    65. 减少Java样板代码 · JAVA原理 updated
    66. xh - 秒杀 & 限购 & 锁误删 updated
    67. xh - 签到、点赞、关注、Feed 流与 GEO updated
    68. HuToolAPI updated
    69. MyBatisAPI updated
    70. 悲观锁 & 乐观锁 updated
    71. 减少Java样板代码 updated
    72. xh - 秒杀 & 限购 & 锁误删 · Redis updated
    73. xh - 签到、点赞、关注、Feed 流与 GEO · Redis updated
    74. HuToolAPI · Redis详解 updated
    75. MyBatisAPI · Redis详解 updated
    76. 悲观锁 & 乐观锁 · Redis详解 updated
    77. 消息队列 · JAVA SEE updated
    78. back - end - GS · RealityResearch updated
    79. Cser Future · RealityResearch updated
    80. MQ高级 updated
    81. 消息队列 updated
    82. back - end - GS updated
    83. Cser Future updated
    84. MQ高级 · RabbitMQ updated
    85. MQ基础 updated
    86. MQ基础 · RabbitMQ updated
    87. JVM - 虚拟机 · JAVA SEE updated
    88. JVM - 虚拟机 updated
    89. 源码 · Algorithm updated
    90. 源码 updated
    91. 算法 MindMap · Algorithm updated
    92. 线程池 · 旁生枝茎 updated
    93. 算法 MindMap updated
    94. 线程池 updated
    95. MindMap · JAVA原理 updated
    96. AQS · 旁生枝茎 2 updated
    97. CAS · 旁生枝茎 updated
    98. MindMap updated
    99. AQS · 旁生枝茎 updated
    100. CAS updated
    101. JUC - 多线程 · JAVA SEE updated
    102. Mybatis的变更 · 旁生枝茎 updated
    103. JUC - 多线程 updated
    104. Mybatis的变更 updated
    105. IDEA学习 快捷键拾遗 · 快捷键 updated
    106. JUC 不可变类拾遗 · 5.不可变类 updated
    107. JUC 线程池拾遗 · 8.1 线程池 updated
    108. JUC J.U.C 原理拾遗 · 8.2 J.U.C 原理 updated
    109. JVM 基础篇拾遗 · 基础篇 updated
    110. ToJAVA 代码块拾遗 · 代码块 updated
    111. ToJAVA 多新鲜啊拾遗 · 多新鲜啊 updated
    112. ToJAVA 接口拾遗 · 接口 updated
    113. ToJAVA 精简代码拾遗 · 精简代码 updated
    114. Spring Bean的生命周期 · 旁生枝茎 updated
    115. 函数式编程 Stream拾遗 updated
    116. 函数式编程 第二章拾遗 updated
    117. MySQL 基础篇拾遗 updated
    118. MySQL 总结拾遗 updated
    119. MySQL 进阶篇拾遗 updated
    120. IDEA学习 快捷键拾遗 updated
    121. JUC 不可变类拾遗 updated
    122. JUC 线程池拾遗 updated
    123. JUC J.U.C 原理拾遗 updated
    124. JVM 基础篇拾遗 updated
    125. ToJAVA 代码块拾遗 updated
    126. ToJAVA 多新鲜啊拾遗 updated
    127. ToJAVA 接口拾遗 updated
    128. ToJAVA 精简代码拾遗 updated
    129. Spring Bean的生命周期 updated
    130. 函数式编程 Stream拾遗 · Stream updated
    131. 函数式编程 第二章拾遗 · 第二章 updated
    132. MySQL 基础篇拾遗 · 基础篇 updated
    133. MySQL 总结拾遗 · 总结 updated
    134. MySQL 进阶篇拾遗 · 进阶篇 updated
    135. Spring & SpringBoot & MyBatis · JAVA SEE updated
    136. AOP详解 · 旁生枝茎 updated
    137. 单例Bean 与 线程安全 · 旁生枝茎 updated
    138. Spring & SpringBoot & MyBatis updated
    139. AOP详解 updated
    140. 单例Bean 与 线程安全 updated
    141. MVCC · 旁生枝茎 updated
    142. UUID vs Snowflake · 旁生枝茎 updated
    143. 主从复制 · 旁生枝茎 updated
    144. 分库分表 · 旁生枝茎 updated
    145. Netty 01 - NIO updated
    146. Netty 02 - 入门 updated
    147. Netty 03 - 进阶 updated
    148. Netty 04 - 优化与源码 updated
    149. MVCC updated
    150. UUID vs Snowflake updated
    151. 主从复制 updated
    152. 分库分表 updated
    153. Netty 01 - NIO · Netty updated
    154. Netty 02 - 入门 · Netty updated
    155. Netty 03 - 进阶 · Netty updated
    156. Netty 04 - 优化与源码 · Netty updated
    157. 游标分页vs传统分页 · 旁生枝茎 updated
    158. 游标分页vs传统分页 updated
    159. API · Algorithm updated
    160. LeetCode Hot 100 · Algorithm updated
    161. 排序 · Algorithm updated
    162. 算法笔记 · Algorithm updated
    163. MySQL · JAVA SEE updated
    164. aqs overview · JUC updated
    165. fork join example · JUC updated
    166. lightweight lock explained · JUC updated
    167. tomcat threadpool detail · JUC updated
    168. Linux课程笔记 · Linux updated
    169. Vim · Linux updated
    170. MyShell · Shell_learn updated
    171. MyShell prac · Shell_learn updated
    172. Shell第三天 - 笔记 · Shell_learn updated
    173. Shell第二天笔记 · Shell_learn updated
    174. shell第四天 - 笔记 · Shell_learn updated
    175. API updated
    176. LeetCode Hot 100 updated
    177. 排序 updated
    178. 算法笔记 updated
    179. MySQL updated
    180. aqs overview updated
    181. fork join example updated
    182. lightweight lock explained updated
    183. tomcat threadpool detail updated
    184. Linux课程笔记 updated
    185. Vim updated
    186. MyShell updated
    187. MyShell prac updated
    188. Shell第三天 - 笔记 updated
    189. Shell第二天笔记 updated
    190. shell第四天 - 笔记 updated
    191. Redis · JAVA SEE updated
    192. 常见集合篇 · JAVA SEE updated
    193. 知识盲区 · JAVA原理 updated
    194. Redis updated
    195. 常见集合篇 updated
    196. 知识盲区 updated
    197. 死锁 · 9.mysum updated
    198. 死锁 updated
    199. ThreadLocal updated
    200. Atomic updated
    201. LongAdder updated
    202. 计算机如何跑起来 updated
    203. ThreadLocal · 三. JUC updated
    204. Atomic · 三. JUC updated
    205. LongAdder · 三. JUC updated
    206. 计算机如何跑起来 · 四. book updated
    207. concurrnetHashMap原理 · 8.2 J.U.C 原理 updated
    208. concurrnetHashMap原理 updated
    209. tomcat线程池 · 8.1 线程池 updated
    210. AQS · 8.2 J.U.C 原理 updated
    211. ReentrantLock原理 · 8.2 J.U.C 原理 updated
    212. ReentrantReadWriteLock · 8.2 J.U.C 原理 updated
    213. StampedLock · 8.2 J.U.C 原理 updated
    214. CountDownLatch - 倒计时锁 · 8.2 J.U.C 原理 updated
    215. CycliBarrier · 8.2 J.U.C 原理 updated
    216. 线程安全集合类 · 8.2 J.U.C 原理 updated
    217. tomcat线程池 updated
    218. AQS updated
    219. ReentrantLock原理 updated
    220. ReentrantReadWriteLock updated
    221. StampedLock updated
    222. CountDownLatch - 倒计时锁 updated
    223. CycliBarrier updated
    224. 线程安全集合类 updated
    225. 总结 · 4. 无锁并发 updated
    226. 数据库连接池 · 5.不可变类 updated
    227. final原理 · 5.不可变类 updated
    228. ThreadPoolExecutor · 8.1 线程池 updated
    229. 常用线程池 及其API · 8.1 线程池 updated
    230. 异步模式 · 8.1 线程池 updated
    231. 总结 updated
    232. 数据库连接池 updated
    233. final原理 updated
    234. ThreadPoolExecutor updated
    235. 常用线程池 及其API updated
    236. 异步模式 updated
    237. 可见性 & Volatile · 3. JMM updated
    238. Cas & volatile · 4. 无锁并发 updated
    239. 原子类 · 4. 无锁并发 updated
    240. LongAdder源码 · 4. 无锁并发 updated
    241. Unsafe对象 · 4. 无锁并发 updated
    242. 可见性 & Volatile updated
    243. Cas & volatile updated
    244. 原子类 updated
    245. LongAdder源码 updated
    246. Unsafe对象 updated
    247. Wait - notify · 2. 并发之共享模型 updated
    248. parkunpark · 2. 并发之共享模型 updated
    249. 活跃度 && reentranlock · 2. 并发之共享模型 updated
    250. 模式 · 2. 并发之共享模型 updated
    251. Wait - notify updated
    252. parkunpark updated
    253. 活跃度 && reentranlock updated
    254. 模式 updated
    255. 进程与线程 · 1. 多线程基础 updated
    256. 创建线程的方法 · 1. 多线程基础 updated
    257. 关于线程的常见方法 · 1. 多线程基础 updated
    258. 设计模式 · 1. 多线程基础 2 updated
    259. 线程状态 · 1. 多线程基础 updated
    260. 小结 · 1. 多线程基础 updated
    261. 不同线程读共享资源 · 2. 并发之共享模型 updated
    262. 局部变量线程安全分析 · 2. 并发之共享模型 updated
    263. synchronized原理 · 2. 并发之共享模型 updated
    264. Synchronized - 对象锁 · 关键字 updated
    265. Volatile · 关键字 updated
    266. 进程与线程 updated
    267. 创建线程的方法 updated
    268. 关于线程的常见方法 updated
    269. 设计模式 · 1. 多线程基础 updated
    270. 线程状态 updated
    271. 小结 updated
    272. 不同线程读共享资源 updated
    273. 局部变量线程安全分析 updated
    274. synchronized原理 updated
    275. Synchronized - 对象锁 updated
    276. Volatile updated
    277. 垃圾回收算法 · 基础篇 updated
    278. 垃圾回收器 · 基础篇 updated
    279. 内存泄漏内存溢出 · 实战篇 updated
    280. 垃圾回收算法 updated
    281. 垃圾回收器 updated
    282. 内存泄漏内存溢出 updated
    283. 类的生命周期 · 基础篇 updated
    284. 类加载器 · 基础篇 updated
    285. 栈 · 基础篇 updated
    286. 方法区 · 基础篇 updated
    287. ShouldKnow · 基础篇 updated
    288. 类的生命周期 updated
    289. 类加载器 updated
    290. updated
    291. 方法区 updated
    292. ShouldKnow updated
    293. 类加载器 · 多新鲜啊 2 updated
    294. 类加载器 · 多新鲜啊 updated
    295. assert断言 · 多新鲜啊 updated
    296. Integer · 数据类型 updated
    297. assert断言 updated
    298. Integer updated
    299. 联系与对比 updated
    300. 联系与对比 · 二. Redis updated
    301. 集群模式 updated
    302. 主从模式 updated
    303. 零散碎片 updated
    304. 集群模式 · 二. Redis updated
    305. 主从模式 · 二. Redis updated
    306. 零散碎片 · 二. Redis updated
    307. Group concat函数 updated
    308. Group concat函数 · 总结 updated
    309. Lua脚本 updated
    310. Lua脚本 · Redis详解 updated
    311. 自定义快捷键 · 快捷键 updated
    312. Optional类 · 多新鲜啊 updated
    313. Plan b updated
    314. 查找与判断 updated
    315. 自定义快捷键 updated
    316. Optional类 updated
    317. Plan b · Stream updated
    318. 查找与判断 · Stream updated
    319. 遍历方式 traverse · Collection体系 updated
    320. String · 数据类型 updated
    321. 构建流 updated
    322. 遍历方式 traverse updated
    323. String updated
    324. 构建流 · Stream updated
    325. 简单流 updated
    326. 闭包 updated
    327. 简单流 · 第二章 updated
    328. 闭包 · 第二章 updated
    329. 方法引用 updated
    330. 方法引用 · 第二章 updated
    331. mid - 全局唯一ID & 登录校验 updated
    332. mid - 缓存更新策略 updated
    333. mid - 缓存穿透 & 击穿 & 雪崩 updated
    334. MyBug updated
    335. mid - 全局唯一ID & 登录校验 · Redis updated
    336. mid - 缓存更新策略 · Redis updated
    337. mid - 缓存穿透 & 击穿 & 雪崩 · Redis updated
    338. MyBug · Redis updated
    339. basic - Redis in Java updated
    340. basic - 数据类型 updated
    341. basic - Redis in Java · Redis updated
    342. basic - 数据类型 · Redis updated
    343. Maven高级 · 后端高级 updated
    344. SpringBoot原理 · 后端高级 updated
    345. Maven高级 updated
    346. SpringBoot原理 updated
    347. AOP · 后端高级 updated
    348. AOP updated
    349. 学员管理实战部分 · 后端实战 updated
    350. 学员管理实战部分 updated
    351. 断点的种类 · Debug断点调试 updated
    352. 代码的快捷键 · 快捷键 updated
    353. 修改员工 · 后端实战 updated
    354. 断点的种类 updated
    355. 代码的快捷键 updated
    356. 修改员工 updated
    357. 事务管理 · 后端实战 updated
    358. 事务管理 updated
    359. 日志技术 · 后端实战 updated
    360. 多表关系 & 多表查询 · 后端实战 updated
    361. 员工管理 · 后端实战 updated
    362. 日志技术 updated
    363. 多表关系 & 多表查询 updated
    364. 员工管理 updated
    365. SpringBoot配置文件 · 后端基础 updated
    366. `准备工作 · 后端实战 updated
    367. 部门管理 · 后端实战 updated
    368. UnknowPoint · 后端实战 updated
    369. SpringBoot配置文件 updated
    370. `准备工作 updated
    371. 部门管理 updated
    372. UnknowPoint updated
    373. 刷题 updated
    374. 刷题 · 总结 updated
    375. Ajax · 前端基础 updated
    376. Javascript · 前端基础 updated
    377. VUE · 前端基础 updated
    378. Maven · 后端基础 updated
    379. MyBatis · 后端基础 updated
    380. Web开发 · 后端基础 updated
    381. Ajax updated
    382. Javascript updated
    383. VUE updated
    384. Maven updated
    385. MyBatis updated
    386. Web开发 updated
    387. HTML · 前端基础 updated
    388. JDBC的API · 后端基础 updated
    389. JDbC简介&快速入门 · 后端基础 updated
    390. 主从复制 · 运维篇 updated
    391. 分库分表 · 运维篇 updated
    392. 总结 · 运维篇 updated
    393. 读写分离 updated
    394. HTML updated
    395. JDBC的API updated
    396. JDbC简介&快速入门 updated
    397. 主从复制 · 运维篇 2 updated
    398. 分库分表 · 运维篇 2 updated
    399. 总结 · 运维篇 2 updated
    400. 读写分离 · 运维篇 updated
    401. 日志 updated
    402. InnoDB引擎 updated
    403. MySQL管理 updated
    404. 视图存储过程触发器 updated
    405. updated
    406. 日志 · 运维篇 updated
    407. InnoDB引擎 · 进阶篇 updated
    408. MySQL管理 · 进阶篇 updated
    409. 视图存储过程触发器 · 进阶篇 updated
    410. 锁 · 进阶篇 updated
    411. 事务 updated
    412. 函数 updated
    413. 多表查询 updated
    414. SQL优化 updated
    415. 存储引擎 updated
    416. 索引 updated
    417. 事务 · 基础篇 updated
    418. 函数 · 基础篇 updated
    419. 多表查询 · 基础篇 updated
    420. SQL优化 · 进阶篇 updated
    421. 存储引擎 · 进阶篇 updated
    422. 索引 · 进阶篇 updated
    423. DQL查询 updated
    424. DQL查询 · 基础篇 updated