avatar
Articles
27
Tags
24
Categories
27
首页
项目
  • 分布式架构
  • AI Agentic System
  • Lottery
中间件
  • MySQL
语言
  • Java
计算机基础
  • 算法
  • OS
  • 计算机网络
Hexo
Search
首页
项目
  • 分布式架构
  • AI Agentic System
  • Lottery
中间件
  • MySQL
语言
  • Java
计算机基础
  • 算法
  • OS
  • 计算机网络

Hexo

MySQL 日志
Created2026-03-06|MiddlewareMySQL
MySQL日志 参考文章: 小林coding-MySQL 日志 执行一条update语句, 期间会发生什么 1UPDATE t_user SET name = 'xiaolin' WHERE id = 1; 首先是前面和查询语句相似的流程 客户端先通过连接器建立连接, 连接器判断用户的身份 查询缓存, 但是因为这是一条update语句, 所以不会走查询缓存的步骤, 相反会将对应的表的缓存给清空 通过解析器分析update语句, 拿到update关键字, 表名等信息, 构建出来语法树, 做语法检查 通过预处理器判断表和字段是否存在 优化器确定执行计划, 这里因为是通过id作为where的条件, 会通过id这个主键执行查询 将执行计划交给存储引擎执行, 找到这一行, 然后执行更新 而日志就在最后的更新步骤出现了 undo log: Innodb引擎层生成的日志, 实现了事务的原子性, 主要实现了事务回滚和MVCC redo log: Innodb引擎层生成的日志, 实现了事务的持久性, 主要实现了crush-safe binlog: Server层生...
MySQL Buffer
Created2026-03-06|MiddlewareMySQL
Buffer Pool就像CPU Cache一样的缓存中间层, 来提高MySQL的性能, 写方面采用写回策略(修改的时候如果在缓存中, 就会直接修改缓存中的数据, 然后标记为脏页) Buffer Pool缓存了什么在MySQL启动的时候, 会为Buffer Pool分配一片连续的内存空间, 然后按照默认的16KB的大小分页, Buffer Pool中的页就是缓存页 Buffer Pool中缓存了这六种信息 undo页记录的是什么 生成undo log的时候, undo log会写入到Buffer Pool中的Undo 页面 查询一条记录, 就只会缓冲一条记录吗 会将整个页都缓存进去
MySQL 锁机制
Created2026-03-06|MiddlewareMySQLLock
参考: https://relph1119.github.io/mysql-learning-notes/#/mysql/25-%E5%B7%A5%E4%BD%9C%E9%9D%A2%E8%AF%95%E8%80%81%E5%A4%A7%E9%9A%BE-%E9%94%81 https://xiaolincoding.com/mysql/lock/how_to_lock.html MySQL锁机制详解快照读与锁定读MySQL中读可以分作两类 快照读: 也就是普通的select, 读-读场景不需要额外的机制保证并发安全, 而读-写场景通过MVCC来实现隔离级别 锁定读: 会加锁的读, 是select ... for update或者select ... lock in share mode , 在MySQL中update, delete操作会分成两部分, 读取阶段和写入(删除)阶段, 前一阶段就属于锁定读 共享锁(S)和互斥锁(X)共享锁: 如果一个事务给一个表(记录)加了S锁, 其他事务能再获取这个S锁, 但是该事务和其他事务都不能再获取这个表(记录)的X锁 互斥锁...
AI-Agent 工作流-Chain Workflow
Created2026-03-06|ProjectAI Agentic SystemWorkflow
工作流-lian’shi 参考 https://www.anthropic.com/engineering/building-effective-agents 流程说明对于链式工作流, 整体的呈现效果就是用户输入userInput以后, 这个userInput在输入以后会链式的向下执行, 在每个节点携带上一个节点的回答和使用当前节点的prompt来和LLM对话 填充systemPrompts数组, 在这种情况下, Chain Workflow也被称作Prompts Chain工作流 遍历每个prompt 将上一轮的回答和现在的prompt组成一个新的input 对话获取response 输出最后的response 代码 代码 123456789101112131415public String chain(String userInput) { String response = usertInput; for (String promt : systemPrompts) { String input = S...
AI-Agent 工作流-Routing Workflow
Created2026-03-06|ProjectAI Agentic SystemWorkflow
工作流-路由工作流流程说明用户输入userInput和可行的路由Map<String, Object> String是对这个路由的简介, Object就是实际的路由内容 这里以角色分配, 将不同的任务分配给不同的promt角色的使用方式举例 用户输入初始的userInput和Map<String, String> 根据userInput和Map的keySet让LLM决策当前任务使用的prompt角色, 给出原因和选择, 使用结构化的输出到RoutingResponse中 使用对应的prompt角色, 输出最后的结果 代码 route方法 1234567891011121314public String route(String userInput, Map<String, Object> routes, String mode) { RoutingResponse routingResponse = determineRoute(input, routes.keySet); Object select = ...
AI-Agent 工作流-Parallelization Workflow
Created2026-03-06|ProjectAI Agentic SystemWorkflow
工作流-并行工作流流程说明 用户输入input数组对应需要并行执行一系列任务, 适用于所有的任务的prompt, 以及线程池的数量 将每个input并行化运行LLM 等待所有的运行完毕后返回 代码123456789101112131415161718192021222324public List<String> parallel(String prompt, List<String> inputs, int nWorks) { ExecutorService executor = Executors.newFixedThreadPool(nWorkers); try { List<CompletableFuture<String>> futures = input.stream() .map(input -> CompletableFuture.supplyAsync(() 0> { try{ ...
AI-Agent 工作流-Orchestrator-workers
Created2026-03-06|ProjectAI Agentic SystemWorkflow
工作流-编排器-工人工作流流程说明这个工作流可以看作是ParallelizationWorkflow的自动分配任务版本 中央LLM动态分解任务, 并将其委派给工作者LLM, 并综合结果 用户输入任务描述input 将用户的任务和编排器prompt输入给LLM用于划分任务 将划分后的任务集合和工人prompt输入给LLM用于执行划分后的任务 返回所有的执行结果 代码 执行代码, process 1234567891011121314151617181920public FinalResponse process(String taskDescription) { // 获取编排器的编排结果 OrchestratorResponse orchestratorResponse = this.chatClient.prompt() .user(u -> u.text(this.orchestratorPrompt)) .param("task", taskDescription) .ca...
AI-Agent 工作流-Evaluator-optimizer
Created2026-03-06|ProjectAI Agentic SystemWorkflow
工作流-评估优化器流程说明在评估-优化器中, 一个LLM调用生成响应, 另一个在循环中提供评估和反馈 用户输入task LLM生成第一轮的回复 对LLM的回复生成评估 检查评估的结果是不是PASS, 如果是, 直接返回最终结果 将所有的历史memory都添加到上下文中, 以及将回复评估添加到上下文中 进行下一次循环 代码 loop 12345678910111213141516171819202122232425private RefinedResponse loop(String task, String context, List<String> memory, List<Generation> chainOfThought) { Generation generation = generate(task, context); memory.add(generation.response()); chainOfThought.add(generation); ...
JUC-原子类-AtomicInteger类详解
Created2026-03-06|JavaJUC原子类
原子类-AtomicInteger类详解说实话, 也没什么好额外讲的, 整个原子类家族, 就是一族封装了一些类CAS操作的类, 提供了我们为某个变量进行原子操作的能力, 让我们可以在多线程环境下, 对某个变量进行原子操作, 而不需要加锁. 下面简单说明一下类的结构 核心字段12345private static final Unsafe U = Unsafe.getUnsafe();private static final long VALUE = U.objectFieldOffset(AtomicInteger.class, "value");private volatile int value; Unsafe就是提供了操作系统层面的API来执行CAS操作类 VALUE是使用了Unsafe获取到的AtomicInteger类中的value字段的属性在类中偏移量, 用于CAS操作 value就是我们这个Integer类的值, 这里的value是保证可见性的, 所以如果使用Atomic是默认保证多线程之间的可见性, 不需要额外加volatile 核...
JUC-线程池-ThreadPoolExecutor类详解
Created2026-03-06|JavaJUC线程池
线程池-ThreadPoolExecutor类详解ThreadPoolExecutor的构造方法12345678public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) { this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, Executors.defaultThreadFactory(), defaultHandler);} corePoolSize: 核心线程数, 线程池中即使没有任务也要保持存活的最大线程数量 ...
123
Recent Posts
MySQL 日志2026-03-06
MySQL Buffer2026-03-06
MySQL 锁机制2026-03-06
AI-Agent 工作流-Chain Workflow2026-03-06
AI-Agent 工作流-Routing Workflow2026-03-06
Categories
  • Architecture6
    • Distributed Systems6
      • Distributed Consensus Algorithm1
      • Service Discovery1
  • Computer Fundamentals8
    • Network1
      • 三次握手的实现原理1
    • OS7
Tags
Workflow AI Agentic System JavaBase IO Interview JUC OS Computer Fundamentals MySQL 线程池 Collection Distributed Systems Project Middleware Process Netwokr-IO 原子类 Distributed Consensus Algorithm Java Architecture Network Service Discovery 三次握手的实现原理 Memory
Archives
  • March 2026 13
  • August 2025 12
  • July 2025 2
Website Info
Article Count :
27
Total Word Count :
64.1k
Unique Visitors :
Page Views :
Last Update :
© 2025 - 2026 By John DoeFramework Hexo 7.3.0|Theme Butterfly 5.5.0
Search
Loading Database