文章时间线
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>b>c, 线程1头插扩容产生 b>a, 回到线程0导致 a>b>a>b.... concurrnetHashMap原理 java hashmap扩容安全问题; 线程0为 a>b>c, 线程1头插扩容产生 b>a, 回到线程0导致 a>b>a>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 && 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 && 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<V> 原子地操作引用类型的值(对象)。 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<V> 原子地操作引用类型的值(对象)。 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>料理后事,然后结束 =false >未捕捉到异常则继续监控/捕捉到则设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>料理后事,然后结束 =false >未捕捉到异常则继续监控/捕捉到则设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帮忙整理出来 执行步骤 吞吐量 && 停顿时间 吞吐量= 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帮忙整理出来 执行步骤 吞吐量 && 停顿时间 吞吐量= 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;>编译器会自动转为 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;>编译器会自动转为 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 篇修订
- 444
- README updated
- index · onenotes updated
- index · algorithm updated
- index · 快捷键 updated
- index · java原理 updated
- index · java-see updated
- index · 前端基础 updated
- index · 后端基础 updated
- index · 后端实战 updated
- index · 后端高级 updated
- index · juc updated
- index · juc 2 updated
- index · 1-多线程基础 updated
- index · 2-并发之共享模型 updated
- index · 4-无锁并发 updated
- index · 5-不可变类 updated
- index · 8-1-线程池 updated
- index · 8-2-j-u-c-原理 updated
- index · 基础篇 updated
- index · tojava updated
- index · 关键字 updated
- index · 多新鲜啊 updated
- index · 旁生枝茎 updated
- index · linux updated
- index · shell-learn updated
- index · realityresearch updated
- index · 技术栈 updated
- index · ai-agent updated
- index · essay updated
- index · netty updated
- index · stream updated
- index · 三-juc updated
- index · 设计模式 updated
- index · mysql updated
- index · 基础篇 2 updated
- index · 总结 2 updated
- index · 进阶篇 updated
- index · redis 2 updated
- index · redis详解 updated
- index · springboot3 updated
- index · ssm框架 2 updated
- AGPL3 updated
- AUTHORS updated
- README · ru updated
- CODE OF CONDUCT updated
- CONTRIBUTING updated
- README · zh-CN updated
- README · languages updated
- LICENSE updated
- README · next updated
- LeetCode MySQL 50 速刷题解 updated
- MySQL 面试上机语法函数速查 updated
- LeetCode MySQL 50 速刷题解 · MySQL updated
- MySQL 面试上机语法函数速查 · MySQL updated
- Java后端转Agent学习路线 updated
- MCP专题学习笔记 updated
- RAG与Agent工程 updated
- 项目实战清单 updated
- 每周推进计划 updated
- AI工程基础入门到精通 updated
- Agent CLI源码剖析 - 全局架构与数据流 updated
- Agent CLI源码剖析 - 主循环与状态机 updated
- Agent CLI源码剖析 - 工具系统安全边界 updated
- Agent CLI源码剖析 - 上下文工程与记忆系统 updated
- Agent CLI源码剖析 - MCP传输与扩展生态 updated
- Agent CLI深水区 - 完整最小实现地图 updated
- Agent CLI深水区 - QueryEngine状态机 updated
- Agent CLI深水区 - 工具执行器权限审计 updated
- Agent CLI深水区 - 上下文预算压缩记忆 updated
- Agent CLI深水区 - MCP生命周期传输层 updated
- Agent CLI深水区 - 模型适配器与流式解析 updated
- Agent CLI深水区 - 编辑器Diff与补丁引擎 updated
- Agent CLI深水区 - 搜索系统与代码上下文 updated
- Agent CLI深水区 - 命令技能插件系统 updated
- Agent CLI深水区 - TraceEval调试体系 updated
- Agent CLI深水区 - 从输入到落盘全链路复盘 updated
- README · demo updated
- Agent Memory 21篇论文学习路线 updated
- MemGPT - Towards LLMs as Operating Systems updated
- MemoryBank - Long Term Memory with Forgetting updated
- Zep - Temporal Knowledge Graph Memory updated
- A - MEM - Agentic Memory updated
- Mem0 - Production Ready Long Term Memory updated
- MemOS - Memory OS for AI System updated
- MIRIX - Multi Agent Memory System updated
- HippoRAG - Neurobiological Long Term Memory updated
- Generative Agents - Memory Stream updated
- Voyager - Skill Library as Memory updated
- Memorizing Transformers - KNN Memory updated
- MemoryLLM - Self Updatable LLM updated
- Memory3 - Explicit Memory updated
- WISE - Lifelong Model Editing updated
- Titans - Learning to Memorize at Test Time updated
- Memory in the Age of AI Agents updated
- Agent Memory Survey updated
- CoALA - Cognitive Architectures for Language Agents updated
- Multimodal Memory Survey updated
- Reflexion - Verbal Reinforcement Learning updated
- MemLong - Long Context Memory Retrieval updated
- README · AI Agent updated
- Java后端转Agent学习路线 · AI Agent updated
- MCP专题学习笔记 · AI Agent updated
- RAG与Agent工程 · AI Agent updated
- 项目实战清单 · AI Agent updated
- 每周推进计划 · AI Agent updated
- AI工程基础入门到精通 · AI Agent updated
- Agent CLI源码剖析 - 全局架构与数据流 · AI Agent updated
- Agent CLI源码剖析 - 主循环与状态机 · AI Agent updated
- Agent CLI源码剖析 - 工具系统安全边界 · AI Agent updated
- Agent CLI源码剖析 - 上下文工程与记忆系统 · AI Agent updated
- Agent CLI源码剖析 - MCP传输与扩展生态 · AI Agent updated
- Agent CLI深水区 - 完整最小实现地图 · AI Agent updated
- Agent CLI深水区 - QueryEngine状态机 · AI Agent updated
- Agent CLI深水区 - 工具执行器权限审计 · AI Agent updated
- Agent CLI深水区 - 上下文预算压缩记忆 · AI Agent updated
- Agent CLI深水区 - MCP生命周期传输层 · AI Agent updated
- Agent CLI深水区 - 模型适配器与流式解析 · AI Agent updated
- Agent CLI深水区 - 编辑器Diff与补丁引擎 · AI Agent updated
- Agent CLI深水区 - 搜索系统与代码上下文 · AI Agent updated
- Agent CLI深水区 - 命令技能插件系统 · AI Agent updated
- Agent CLI深水区 - TraceEval调试体系 · AI Agent updated
- Agent CLI深水区 - 从输入到落盘全链路复盘 · AI Agent updated
- README · demo 2 updated
- Agent Memory 21篇论文学习路线 · essay updated
- MemGPT - Towards LLMs as Operating Systems · essay updated
- MemoryBank - Long Term Memory with Forgetting · essay updated
- Zep - Temporal Knowledge Graph Memory · essay updated
- A - MEM - Agentic Memory · essay updated
- Mem0 - Production Ready Long Term Memory · essay updated
- MemOS - Memory OS for AI System · essay updated
- MIRIX - Multi Agent Memory System · essay updated
- HippoRAG - Neurobiological Long Term Memory · essay updated
- Generative Agents - Memory Stream · essay updated
- Voyager - Skill Library as Memory · essay updated
- Memorizing Transformers - KNN Memory · essay updated
- MemoryLLM - Self Updatable LLM · essay updated
- Memory3 - Explicit Memory · essay updated
- WISE - Lifelong Model Editing · essay updated
- Titans - Learning to Memorize at Test Time · essay updated
- Memory in the Age of AI Agents · essay updated
- Agent Memory Survey · essay updated
- CoALA - Cognitive Architectures for Language Agents · essay updated
- Multimodal Memory Survey · essay updated
- Reflexion - Verbal Reinforcement Learning · essay updated
- MemLong - Long Context Memory Retrieval · essay updated
- README · AI Agent 2 updated
- MyFriends · Project updated
- MyBatis · Q & A with Arwen 2 updated
- 自定义Spring框架 updated
- MyBatisPlus updated
- SpringMVC updated
- 自定义Spring框架 · 设计模式 updated
- MyBatisPlus · SSM框架 updated
- SpringMVC · SSM框架 updated
- 行为型模式 updated
- 行为型模式 · 设计模式 updated
- sum - 设计原则 updated
- 创建者模式 updated
- 结构型模式 updated
- sum - 设计原则 · 设计模式 updated
- 创建者模式 · 设计模式 updated
- 结构型模式 · 设计模式 updated
- MySQL的锁 updated
- MySQL的锁 · MySQL updated
- MySQL · Q & A with Arwen 2 updated
- JUC · Q & A with Arwen updated
- Spring updated
- Spring · SSM框架 updated
- Redis - Q&A updated
- Redis - Q&A · Redis updated
- JAVA必知必会 · Algorithm updated
- basic - bean配置 & 注册 updated
- imp - SpringBoot启动 & IOC初始化 & 监听机制 updated
- mid - BeanDefinition + BeanFactory + IOC 核心容器 updated
- mid - SpringBoot配置 & 分页 & MVC updated
- mid - 注册参数校验 & 登录 updated
- basic - bean配置 & 注册 · SpringBoot3 updated
- imp - SpringBoot启动 & IOC初始化 & 监听机制 · SpringBoot3 updated
- mid - BeanDefinition + BeanFactory + IOC 核心容器 · SpringBoot3 updated
- mid - SpringBoot配置 & 分页 & MVC · SpringBoot3 updated
- mid - 注册参数校验 & 登录 · SpringBoot3 updated
- mid - OpenResty & 多级缓存 & 请求链路改造 updated
- NGINX updated
- mid - OpenResty & 多级缓存 & 请求链路改造 · Redis updated
- NGINX · Redis详解 updated
- basic - JVM · JVM updated
- deep - research - report · RealityResearch updated
- yori - 内存 & 网络模型 updated
- yori - 内存 & 网络模型 · Redis updated
- xh - Redisson updated
- xh - 超时释放 & 锁重试 & watch dog updated
- yori - 底层数据结构 updated
- yori - 持久化 & 集群 &哨兵 updated
- zex - kv设计 & 批处理 & 主从or集群 & 配置 updated
- HyperLogLog updated
- Redisson updated
- xh - Redisson · Redis updated
- xh - 超时释放 & 锁重试 & watch dog · Redis updated
- yori - 底层数据结构 · Redis updated
- yori - 持久化 & 集群 &哨兵 · Redis updated
- zex - kv设计 & 批处理 & 主从or集群 & 配置 · Redis updated
- HyperLogLog · Redis详解 updated
- Redisson · Redis详解 updated
- 减少Java样板代码 · JAVA原理 moved 减少Java样板代码.md → __hexo_stage/source/_posts/JAVA原理/减少Java样板代码.md
- xh - 秒杀 & 限购 & 锁误删 updated
- xh - 签到、点赞、关注、Feed 流与 GEO updated
- HuToolAPI updated
- MyBatisAPI updated
- 悲观锁 & 乐观锁 updated
- 减少Java样板代码 moved 减少Java样板代码.md → JAVA原理/减少Java样板代码.md
- xh - 秒杀 & 限购 & 锁误删 · Redis updated
- xh - 签到、点赞、关注、Feed 流与 GEO · Redis updated
- HuToolAPI · Redis详解 updated
- MyBatisAPI · Redis详解 updated
- 悲观锁 & 乐观锁 · Redis详解 updated
- 消息队列 · JAVA SEE updated
- back - end - GS · RealityResearch updated
- Cser Future · RealityResearch updated
- MQ高级 updated
- 消息队列 updated
- MQ高级 · RabbitMQ updated
- MQ基础 updated
- MQ基础 · RabbitMQ updated
- JVM - 虚拟机 · JAVA SEE updated
- 源码 · Algorithm updated
- 算法 MindMap · Algorithm updated
- 线程池 · 旁生枝茎 updated
- MindMap · JAVA原理 moved MindMap.md → __hexo_stage/source/_posts/JAVA原理/MindMap.md
- AQS · 旁生枝茎 2 updated
- CAS · 旁生枝茎 updated
- MindMap moved MindMap.md → JAVA原理/MindMap.md
- JUC - 多线程 · JAVA SEE updated
- Mybatis的变更 · 旁生枝茎 updated
- IDEA学习 快捷键拾遗 · 快捷键 updated
- JUC 不可变类拾遗 · 5.不可变类 updated
- JUC 线程池拾遗 · 8.1 线程池 updated
- JUC J.U.C 原理拾遗 · 8.2 J.U.C 原理 updated
- JVM 基础篇拾遗 · 基础篇 updated
- ToJAVA 代码块拾遗 · 代码块 updated
- ToJAVA 多新鲜啊拾遗 · 多新鲜啊 updated
- ToJAVA 接口拾遗 · 接口 updated
- ToJAVA 精简代码拾遗 · 精简代码 updated
- Spring Bean的生命周期 · 旁生枝茎 updated
- 函数式编程 Stream拾遗 updated
- 函数式编程 第二章拾遗 updated
- MySQL 基础篇拾遗 updated
- MySQL 总结拾遗 updated
- MySQL 进阶篇拾遗 updated
- 函数式编程 Stream拾遗 · Stream updated
- 函数式编程 第二章拾遗 · 第二章 updated
- MySQL 基础篇拾遗 · 基础篇 updated
- MySQL 总结拾遗 · 总结 updated
- MySQL 进阶篇拾遗 · 进阶篇 updated
- Spring & SpringBoot & MyBatis · JAVA SEE updated
- AOP详解 · 旁生枝茎 updated
- 单例Bean 与 线程安全 · 旁生枝茎 updated
- Spring & SpringBoot & MyBatis updated
- MVCC · 旁生枝茎 updated
- UUID vs Snowflake · 旁生枝茎 updated
- 主从复制 · 旁生枝茎 updated
- 分库分表 · 旁生枝茎 updated
- Netty 01 - NIO updated
- Netty 02 - 入门 updated
- Netty 03 - 进阶 updated
- Netty 04 - 优化与源码 updated
- Netty 01 - NIO · Netty updated
- Netty 02 - 入门 · Netty updated
- Netty 03 - 进阶 · Netty updated
- Netty 04 - 优化与源码 · Netty updated
- 游标分页vs传统分页 · 旁生枝茎 updated
- API · Algorithm updated
- LeetCode Hot 100 · Algorithm updated
- 排序 · Algorithm updated
- 算法笔记 · Algorithm updated
- MySQL · JAVA SEE updated
- aqs overview · JUC updated
- fork join example · JUC updated
- lightweight lock explained · JUC updated
- tomcat threadpool detail · JUC updated
- Linux课程笔记 · Linux updated
- Vim · Linux updated
- MyShell · Shell_learn updated
- MyShell prac · Shell_learn updated
- Shell第三天 - 笔记 · Shell_learn updated
- Shell第二天笔记 · Shell_learn updated
- shell第四天 - 笔记 · Shell_learn updated
- Redis · JAVA SEE updated
- 常见集合篇 · JAVA SEE updated
- 知识盲区 · JAVA原理 moved 知识盲区.md → __hexo_stage/source/_posts/JAVA原理/知识盲区.md
- Redis updated
- 知识盲区 moved 知识盲区.md → JAVA原理/知识盲区.md
- 死锁 · 9.mysum updated
- ThreadLocal updated
- Atomic updated
- LongAdder updated
- 计算机如何跑起来 updated
- ThreadLocal · 三. JUC updated
- Atomic · 三. JUC updated
- LongAdder · 三. JUC updated
- 计算机如何跑起来 · 四. book updated
- concurrnetHashMap原理 · 8.2 J.U.C 原理 updated
- tomcat线程池 · 8.1 线程池 updated
- AQS · 8.2 J.U.C 原理 updated
- ReentrantLock原理 · 8.2 J.U.C 原理 updated
- ReentrantReadWriteLock · 8.2 J.U.C 原理 updated
- StampedLock · 8.2 J.U.C 原理 updated
- CountDownLatch - 倒计时锁 · 8.2 J.U.C 原理 updated
- CycliBarrier · 8.2 J.U.C 原理 updated
- 线程安全集合类 · 8.2 J.U.C 原理 updated
- 总结 · 4. 无锁并发 updated
- 数据库连接池 · 5.不可变类 updated
- final原理 · 5.不可变类 updated
- ThreadPoolExecutor · 8.1 线程池 updated
- 常用线程池 及其API · 8.1 线程池 updated
- 异步模式 · 8.1 线程池 updated
- 可见性 & Volatile · 3. JMM updated
- Cas & volatile · 4. 无锁并发 updated
- 原子类 · 4. 无锁并发 updated
- LongAdder源码 · 4. 无锁并发 updated
- Unsafe对象 · 4. 无锁并发 updated
- Wait - notify · 2. 并发之共享模型 updated
- parkunpark · 2. 并发之共享模型 updated
- 活跃度 && reentranlock · 2. 并发之共享模型 updated
- 模式 · 2. 并发之共享模型 updated
- 进程与线程 · 1. 多线程基础 updated
- 创建线程的方法 · 1. 多线程基础 updated
- 关于线程的常见方法 · 1. 多线程基础 updated
- 设计模式 · 1. 多线程基础 2 updated
- 线程状态 · 1. 多线程基础 updated
- 小结 · 1. 多线程基础 updated
- 不同线程读共享资源 · 2. 并发之共享模型 updated
- 局部变量线程安全分析 · 2. 并发之共享模型 updated
- synchronized原理 · 2. 并发之共享模型 updated
- Synchronized - 对象锁 · 关键字 updated
- Volatile · 关键字 updated
- 垃圾回收算法 · 基础篇 updated
- 垃圾回收器 · 基础篇 updated
- 内存泄漏内存溢出 · 实战篇 updated
- 类的生命周期 · 基础篇 updated
- 类加载器 · 基础篇 updated
- 栈 · 基础篇 updated
- 方法区 · 基础篇 updated
- ShouldKnow · 基础篇 updated
- 类加载器 · 多新鲜啊 2 updated
- assert断言 · 多新鲜啊 updated
- Integer · 数据类型 updated
- 联系与对比 updated
- 联系与对比 · 二. Redis updated
- 集群模式 updated
- 主从模式 updated
- 零散碎片 updated
- 集群模式 · 二. Redis updated
- 主从模式 · 二. Redis updated
- 零散碎片 · 二. Redis updated
- Group concat函数 updated
- Group concat函数 · 总结 updated
- Lua脚本 updated
- Lua脚本 · Redis详解 updated
- 自定义快捷键 · 快捷键 updated
- Optional类 · 多新鲜啊 updated
- Plan b updated
- 查找与判断 updated
- Plan b · Stream updated
- 查找与判断 · Stream updated
- 遍历方式 traverse · Collection体系 updated
- String · 数据类型 updated
- 构建流 updated
- 构建流 · Stream updated
- 简单流 updated
- 闭包 updated
- 简单流 · 第二章 updated
- 闭包 · 第二章 updated
- 方法引用 updated
- 方法引用 · 第二章 updated
- mid - 全局唯一ID & 登录校验 updated
- mid - 缓存更新策略 updated
- mid - 缓存穿透 & 击穿 & 雪崩 updated
- MyBug updated
- mid - 全局唯一ID & 登录校验 · Redis updated
- mid - 缓存更新策略 · Redis updated
- mid - 缓存穿透 & 击穿 & 雪崩 · Redis updated
- MyBug · Redis updated
- basic - Redis in Java updated
- basic - 数据类型 updated
- basic - Redis in Java · Redis updated
- basic - 数据类型 · Redis updated
- Maven高级 · 后端高级 updated
- SpringBoot原理 · 后端高级 updated
- AOP · 后端高级 updated
- 学员管理实战部分 · 后端实战 updated
- 断点的种类 · Debug断点调试 updated
- 代码的快捷键 · 快捷键 updated
- 修改员工 · 后端实战 updated
- 事务管理 · 后端实战 updated
- 日志技术 · 后端实战 updated
- 多表关系 & 多表查询 · 后端实战 updated
- 员工管理 · 后端实战 updated
- SpringBoot配置文件 · 后端基础 updated
- `准备工作 · 后端实战 updated
- 部门管理 · 后端实战 updated
- UnknowPoint · 后端实战 updated
- 刷题 updated
- 刷题 · 总结 updated
- Ajax · 前端基础 updated
- Javascript · 前端基础 updated
- VUE · 前端基础 updated
- Maven · 后端基础 updated
- MyBatis · 后端基础 updated
- Web开发 · 后端基础 updated
- HTML · 前端基础 updated
- JDBC的API · 后端基础 updated
- JDbC简介&快速入门 · 后端基础 updated
- 主从复制 · 运维篇 updated
- 分库分表 · 运维篇 updated
- 总结 · 运维篇 updated
- 读写分离 updated
- 主从复制 · 运维篇 2 updated
- 分库分表 · 运维篇 2 updated
- 总结 · 运维篇 2 updated
- 读写分离 · 运维篇 updated
- 日志 updated
- InnoDB引擎 updated
- MySQL管理 updated
- 视图存储过程触发器 updated
- 锁 updated
- 日志 · 运维篇 updated
- InnoDB引擎 · 进阶篇 updated
- MySQL管理 · 进阶篇 updated
- 视图存储过程触发器 · 进阶篇 updated
- 锁 · 进阶篇 updated
- 事务 updated
- 函数 updated
- 多表查询 updated
- SQL优化 updated
- 存储引擎 updated
- 索引 updated
- 事务 · 基础篇 updated
- 函数 · 基础篇 updated
- 多表查询 · 基础篇 updated
- SQL优化 · 进阶篇 updated
- 存储引擎 · 进阶篇 updated
- 索引 · 进阶篇 updated
- DQL查询 updated
- DQL查询 · 基础篇 updated
- 424
- MyFriends · Project updated
- MyFriends updated
- MyBatis · Q & A with Arwen 2 updated
- MyBatis · Q & A with Arwen updated
- 自定义Spring框架 updated
- MyBatisPlus updated
- SpringMVC updated
- 自定义Spring框架 · 设计模式 updated
- MyBatisPlus · SSM框架 updated
- SpringMVC · SSM框架 updated
- 行为型模式 updated
- 行为型模式 · 设计模式 updated
- sum - 设计原则 updated
- 创建者模式 updated
- 结构型模式 updated
- sum - 设计原则 · 设计模式 updated
- 创建者模式 · 设计模式 updated
- 结构型模式 · 设计模式 updated
- MySQL的锁 updated
- MySQL的锁 · MySQL updated
- MySQL · Q & A with Arwen 2 updated
- MySQL · Q & A with Arwen updated
- JUC · Q & A with Arwen updated
- Spring updated
- JUC updated
- Spring · SSM框架 updated
- Redis - Q&A updated
- Redis - Q&A · Redis updated
- JAVA必知必会 · Algorithm updated
- JAVA必知必会 updated
- basic - bean配置 & 注册 updated
- imp - SpringBoot启动 & IOC初始化 & 监听机制 updated
- mid - BeanDefinition + BeanFactory + IOC 核心容器 updated
- mid - SpringBoot配置 & 分页 & MVC updated
- mid - 注册参数校验 & 登录 updated
- basic - bean配置 & 注册 · SpringBoot3 updated
- imp - SpringBoot启动 & IOC初始化 & 监听机制 · SpringBoot3 updated
- mid - BeanDefinition + BeanFactory + IOC 核心容器 · SpringBoot3 updated
- mid - SpringBoot配置 & 分页 & MVC · SpringBoot3 updated
- mid - 注册参数校验 & 登录 · SpringBoot3 updated
- mid - OpenResty & 多级缓存 & 请求链路改造 updated
- NGINX updated
- mid - OpenResty & 多级缓存 & 请求链路改造 · Redis updated
- NGINX · Redis详解 updated
- basic - JVM · JVM updated
- deep - research - report · RealityResearch updated
- yori - 内存 & 网络模型 updated
- basic - JVM updated
- deep - research - report updated
- yori - 内存 & 网络模型 · Redis updated
- xh - Redisson updated
- xh - 超时释放 & 锁重试 & watch dog updated
- yori - 底层数据结构 updated
- yori - 持久化 & 集群 &哨兵 updated
- zex - kv设计 & 批处理 & 主从or集群 & 配置 updated
- HyperLogLog updated
- Redisson updated
- xh - Redisson · Redis updated
- xh - 超时释放 & 锁重试 & watch dog · Redis updated
- yori - 底层数据结构 · Redis updated
- yori - 持久化 & 集群 &哨兵 · Redis updated
- zex - kv设计 & 批处理 & 主从or集群 & 配置 · Redis updated
- HyperLogLog · Redis详解 updated
- Redisson · Redis详解 updated
- 减少Java样板代码 · JAVA原理 updated
- xh - 秒杀 & 限购 & 锁误删 updated
- xh - 签到、点赞、关注、Feed 流与 GEO updated
- HuToolAPI updated
- MyBatisAPI updated
- 悲观锁 & 乐观锁 updated
- 减少Java样板代码 updated
- xh - 秒杀 & 限购 & 锁误删 · Redis updated
- xh - 签到、点赞、关注、Feed 流与 GEO · Redis updated
- HuToolAPI · Redis详解 updated
- MyBatisAPI · Redis详解 updated
- 悲观锁 & 乐观锁 · Redis详解 updated
- 消息队列 · JAVA SEE updated
- back - end - GS · RealityResearch updated
- Cser Future · RealityResearch updated
- MQ高级 updated
- 消息队列 updated
- back - end - GS updated
- Cser Future updated
- MQ高级 · RabbitMQ updated
- MQ基础 updated
- MQ基础 · RabbitMQ updated
- JVM - 虚拟机 · JAVA SEE updated
- JVM - 虚拟机 updated
- 源码 · Algorithm updated
- 源码 updated
- 算法 MindMap · Algorithm updated
- 线程池 · 旁生枝茎 updated
- 算法 MindMap updated
- 线程池 updated
- MindMap · JAVA原理 updated
- AQS · 旁生枝茎 2 updated
- CAS · 旁生枝茎 updated
- MindMap updated
- AQS · 旁生枝茎 updated
- CAS updated
- JUC - 多线程 · JAVA SEE updated
- Mybatis的变更 · 旁生枝茎 updated
- JUC - 多线程 updated
- Mybatis的变更 updated
- IDEA学习 快捷键拾遗 · 快捷键 updated
- JUC 不可变类拾遗 · 5.不可变类 updated
- JUC 线程池拾遗 · 8.1 线程池 updated
- JUC J.U.C 原理拾遗 · 8.2 J.U.C 原理 updated
- JVM 基础篇拾遗 · 基础篇 updated
- ToJAVA 代码块拾遗 · 代码块 updated
- ToJAVA 多新鲜啊拾遗 · 多新鲜啊 updated
- ToJAVA 接口拾遗 · 接口 updated
- ToJAVA 精简代码拾遗 · 精简代码 updated
- Spring Bean的生命周期 · 旁生枝茎 updated
- 函数式编程 Stream拾遗 updated
- 函数式编程 第二章拾遗 updated
- MySQL 基础篇拾遗 updated
- MySQL 总结拾遗 updated
- MySQL 进阶篇拾遗 updated
- IDEA学习 快捷键拾遗 updated
- JUC 不可变类拾遗 updated
- JUC 线程池拾遗 updated
- JUC J.U.C 原理拾遗 updated
- JVM 基础篇拾遗 updated
- ToJAVA 代码块拾遗 updated
- ToJAVA 多新鲜啊拾遗 updated
- ToJAVA 接口拾遗 updated
- ToJAVA 精简代码拾遗 updated
- Spring Bean的生命周期 updated
- 函数式编程 Stream拾遗 · Stream updated
- 函数式编程 第二章拾遗 · 第二章 updated
- MySQL 基础篇拾遗 · 基础篇 updated
- MySQL 总结拾遗 · 总结 updated
- MySQL 进阶篇拾遗 · 进阶篇 updated
- Spring & SpringBoot & MyBatis · JAVA SEE updated
- AOP详解 · 旁生枝茎 updated
- 单例Bean 与 线程安全 · 旁生枝茎 updated
- Spring & SpringBoot & MyBatis updated
- AOP详解 updated
- 单例Bean 与 线程安全 updated
- MVCC · 旁生枝茎 updated
- UUID vs Snowflake · 旁生枝茎 updated
- 主从复制 · 旁生枝茎 updated
- 分库分表 · 旁生枝茎 updated
- Netty 01 - NIO updated
- Netty 02 - 入门 updated
- Netty 03 - 进阶 updated
- Netty 04 - 优化与源码 updated
- MVCC updated
- UUID vs Snowflake updated
- 主从复制 updated
- 分库分表 updated
- Netty 01 - NIO · Netty updated
- Netty 02 - 入门 · Netty updated
- Netty 03 - 进阶 · Netty updated
- Netty 04 - 优化与源码 · Netty updated
- 游标分页vs传统分页 · 旁生枝茎 updated
- 游标分页vs传统分页 updated
- API · Algorithm updated
- LeetCode Hot 100 · Algorithm updated
- 排序 · Algorithm updated
- 算法笔记 · Algorithm updated
- MySQL · JAVA SEE updated
- aqs overview · JUC updated
- fork join example · JUC updated
- lightweight lock explained · JUC updated
- tomcat threadpool detail · JUC updated
- Linux课程笔记 · Linux updated
- Vim · Linux updated
- MyShell · Shell_learn updated
- MyShell prac · Shell_learn updated
- Shell第三天 - 笔记 · Shell_learn updated
- Shell第二天笔记 · Shell_learn updated
- shell第四天 - 笔记 · Shell_learn updated
- API updated
- LeetCode Hot 100 updated
- 排序 updated
- 算法笔记 updated
- MySQL updated
- aqs overview updated
- fork join example updated
- lightweight lock explained updated
- tomcat threadpool detail updated
- Linux课程笔记 updated
- Vim updated
- MyShell updated
- MyShell prac updated
- Shell第三天 - 笔记 updated
- Shell第二天笔记 updated
- shell第四天 - 笔记 updated
- Redis · JAVA SEE updated
- 常见集合篇 · JAVA SEE updated
- 知识盲区 · JAVA原理 updated
- Redis updated
- 常见集合篇 updated
- 知识盲区 updated
- 死锁 · 9.mysum updated
- 死锁 updated
- ThreadLocal updated
- Atomic updated
- LongAdder updated
- 计算机如何跑起来 updated
- ThreadLocal · 三. JUC updated
- Atomic · 三. JUC updated
- LongAdder · 三. JUC updated
- 计算机如何跑起来 · 四. book updated
- concurrnetHashMap原理 · 8.2 J.U.C 原理 updated
- concurrnetHashMap原理 updated
- tomcat线程池 · 8.1 线程池 updated
- AQS · 8.2 J.U.C 原理 updated
- ReentrantLock原理 · 8.2 J.U.C 原理 updated
- ReentrantReadWriteLock · 8.2 J.U.C 原理 updated
- StampedLock · 8.2 J.U.C 原理 updated
- CountDownLatch - 倒计时锁 · 8.2 J.U.C 原理 updated
- CycliBarrier · 8.2 J.U.C 原理 updated
- 线程安全集合类 · 8.2 J.U.C 原理 updated
- tomcat线程池 updated
- AQS updated
- ReentrantLock原理 updated
- ReentrantReadWriteLock updated
- StampedLock updated
- CountDownLatch - 倒计时锁 updated
- CycliBarrier updated
- 线程安全集合类 updated
- 总结 · 4. 无锁并发 updated
- 数据库连接池 · 5.不可变类 updated
- final原理 · 5.不可变类 updated
- ThreadPoolExecutor · 8.1 线程池 updated
- 常用线程池 及其API · 8.1 线程池 updated
- 异步模式 · 8.1 线程池 updated
- 总结 updated
- 数据库连接池 updated
- final原理 updated
- ThreadPoolExecutor updated
- 常用线程池 及其API updated
- 异步模式 updated
- 可见性 & Volatile · 3. JMM updated
- Cas & volatile · 4. 无锁并发 updated
- 原子类 · 4. 无锁并发 updated
- LongAdder源码 · 4. 无锁并发 updated
- Unsafe对象 · 4. 无锁并发 updated
- 可见性 & Volatile updated
- Cas & volatile updated
- 原子类 updated
- LongAdder源码 updated
- Unsafe对象 updated
- Wait - notify · 2. 并发之共享模型 updated
- parkunpark · 2. 并发之共享模型 updated
- 活跃度 && reentranlock · 2. 并发之共享模型 updated
- 模式 · 2. 并发之共享模型 updated
- Wait - notify updated
- parkunpark updated
- 活跃度 && reentranlock updated
- 模式 updated
- 进程与线程 · 1. 多线程基础 updated
- 创建线程的方法 · 1. 多线程基础 updated
- 关于线程的常见方法 · 1. 多线程基础 updated
- 设计模式 · 1. 多线程基础 2 updated
- 线程状态 · 1. 多线程基础 updated
- 小结 · 1. 多线程基础 updated
- 不同线程读共享资源 · 2. 并发之共享模型 updated
- 局部变量线程安全分析 · 2. 并发之共享模型 updated
- synchronized原理 · 2. 并发之共享模型 updated
- Synchronized - 对象锁 · 关键字 updated
- Volatile · 关键字 updated
- 进程与线程 updated
- 创建线程的方法 updated
- 关于线程的常见方法 updated
- 设计模式 · 1. 多线程基础 updated
- 线程状态 updated
- 小结 updated
- 不同线程读共享资源 updated
- 局部变量线程安全分析 updated
- synchronized原理 updated
- Synchronized - 对象锁 updated
- Volatile updated
- 垃圾回收算法 · 基础篇 updated
- 垃圾回收器 · 基础篇 updated
- 内存泄漏内存溢出 · 实战篇 updated
- 垃圾回收算法 updated
- 垃圾回收器 updated
- 内存泄漏内存溢出 updated
- 类的生命周期 · 基础篇 updated
- 类加载器 · 基础篇 updated
- 栈 · 基础篇 updated
- 方法区 · 基础篇 updated
- ShouldKnow · 基础篇 updated
- 类的生命周期 updated
- 类加载器 updated
- 栈 updated
- 方法区 updated
- ShouldKnow updated
- 类加载器 · 多新鲜啊 2 updated
- 类加载器 · 多新鲜啊 updated
- assert断言 · 多新鲜啊 updated
- Integer · 数据类型 updated
- assert断言 updated
- Integer updated
- 联系与对比 updated
- 联系与对比 · 二. Redis updated
- 集群模式 updated
- 主从模式 updated
- 零散碎片 updated
- 集群模式 · 二. Redis updated
- 主从模式 · 二. Redis updated
- 零散碎片 · 二. Redis updated
- Group concat函数 updated
- Group concat函数 · 总结 updated
- Lua脚本 updated
- Lua脚本 · Redis详解 updated
- 自定义快捷键 · 快捷键 updated
- Optional类 · 多新鲜啊 updated
- Plan b updated
- 查找与判断 updated
- 自定义快捷键 updated
- Optional类 updated
- Plan b · Stream updated
- 查找与判断 · Stream updated
- 遍历方式 traverse · Collection体系 updated
- String · 数据类型 updated
- 构建流 updated
- 遍历方式 traverse updated
- String updated
- 构建流 · Stream updated
- 简单流 updated
- 闭包 updated
- 简单流 · 第二章 updated
- 闭包 · 第二章 updated
- 方法引用 updated
- 方法引用 · 第二章 updated
- mid - 全局唯一ID & 登录校验 updated
- mid - 缓存更新策略 updated
- mid - 缓存穿透 & 击穿 & 雪崩 updated
- MyBug updated
- mid - 全局唯一ID & 登录校验 · Redis updated
- mid - 缓存更新策略 · Redis updated
- mid - 缓存穿透 & 击穿 & 雪崩 · Redis updated
- MyBug · Redis updated
- basic - Redis in Java updated
- basic - 数据类型 updated
- basic - Redis in Java · Redis updated
- basic - 数据类型 · Redis updated
- Maven高级 · 后端高级 updated
- SpringBoot原理 · 后端高级 updated
- Maven高级 updated
- SpringBoot原理 updated
- AOP · 后端高级 updated
- AOP updated
- 学员管理实战部分 · 后端实战 updated
- 学员管理实战部分 updated
- 断点的种类 · Debug断点调试 updated
- 代码的快捷键 · 快捷键 updated
- 修改员工 · 后端实战 updated
- 断点的种类 updated
- 代码的快捷键 updated
- 修改员工 updated
- 事务管理 · 后端实战 updated
- 事务管理 updated
- 日志技术 · 后端实战 updated
- 多表关系 & 多表查询 · 后端实战 updated
- 员工管理 · 后端实战 updated
- 日志技术 updated
- 多表关系 & 多表查询 updated
- 员工管理 updated
- SpringBoot配置文件 · 后端基础 updated
- `准备工作 · 后端实战 updated
- 部门管理 · 后端实战 updated
- UnknowPoint · 后端实战 updated
- SpringBoot配置文件 updated
- `准备工作 updated
- 部门管理 updated
- UnknowPoint updated
- 刷题 updated
- 刷题 · 总结 updated
- Ajax · 前端基础 updated
- Javascript · 前端基础 updated
- VUE · 前端基础 updated
- Maven · 后端基础 updated
- MyBatis · 后端基础 updated
- Web开发 · 后端基础 updated
- Ajax updated
- Javascript updated
- VUE updated
- Maven updated
- MyBatis updated
- Web开发 updated
- HTML · 前端基础 updated
- JDBC的API · 后端基础 updated
- JDbC简介&快速入门 · 后端基础 updated
- 主从复制 · 运维篇 updated
- 分库分表 · 运维篇 updated
- 总结 · 运维篇 updated
- 读写分离 updated
- HTML updated
- JDBC的API updated
- JDbC简介&快速入门 updated
- 主从复制 · 运维篇 2 updated
- 分库分表 · 运维篇 2 updated
- 总结 · 运维篇 2 updated
- 读写分离 · 运维篇 updated
- 日志 updated
- InnoDB引擎 updated
- MySQL管理 updated
- 视图存储过程触发器 updated
- 锁 updated
- 日志 · 运维篇 updated
- InnoDB引擎 · 进阶篇 updated
- MySQL管理 · 进阶篇 updated
- 视图存储过程触发器 · 进阶篇 updated
- 锁 · 进阶篇 updated
- 事务 updated
- 函数 updated
- 多表查询 updated
- SQL优化 updated
- 存储引擎 updated
- 索引 updated
- 事务 · 基础篇 updated
- 函数 · 基础篇 updated
- 多表查询 · 基础篇 updated
- SQL优化 · 进阶篇 updated
- 存储引擎 · 进阶篇 updated
- 索引 · 进阶篇 updated
- DQL查询 updated
- DQL查询 · 基础篇 updated