<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wuud__的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wuud__</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wuud__]]></copyright><item><title><![CDATA[MLA（多头潜在注意力）原理详解：KV 缓存压缩与 MHA/GQA 对比]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/166484251</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/166484251</guid><author>wuud__</author><pubDate>Wed, 23 Sep 2026 17:08:35 +0800</pubDate><description><![CDATA[本文系统解析了注意力机制演化中KV缓存优化的核心逻辑。从MHA到GQA/MQA，再到MLA，本质是通过减少缓存“份数”或“体积”来缓解显存瓶颈。以DeepSeek-V2为例，MLA通过低秩压缩将每token缓存从32768降至576元素，实现56.9倍压缩，使显存占用由8.6GB降至151MB，支撑128K以上上下文。关键区别在于：GQA省“数量”，MLA压“体积”。最终，架构演进聚焦于极致压缩KV缓存，为长序列生成提供底层算力保障。]]></description><category></category></item><item><title><![CDATA[windows下安装mcp servers]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/147335732</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/147335732</guid><author>wuud__</author><pubDate>Fri, 18 Apr 2025 16:32:34 +0800</pubDate><description><![CDATA[但在windows中这样会报错，最好使用node的本地路径，args为mcp server的本地安装路径。]]></description><category></category></item><item><title><![CDATA[快速入门smolagents]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/147334547</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/147334547</guid><author>wuud__</author><pubDate>Fri, 18 Apr 2025 15:56:14 +0800</pubDate><description><![CDATA[这里我用的火山的api，注意如果是使用的火山或阿里云的这种服务商的api，model_id这里要以"openai/" 开头，后跟模型名称。]]></description><category></category></item><item><title><![CDATA[简单修改将stdio协议的mcp项目转为sse协议的mcp项目]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/147306959</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/147306959</guid><author>wuud__</author><pubDate>Thu, 17 Apr 2025 15:22:20 +0800</pubDate><description><![CDATA[修改connect to server函数启动方式：stdio：，sse：修改一行代码：和启动方式的不同stdio：无需手动启动server.py，启动client的时候会传入server的路径作为参数。但可以直接运行运行 mcp inspector来测试server的功能。sse：要先，启动服务器，然后才能运行 ，启动mcp inspector或启动client链接server。


client




sse

server




client]]></description><category></category></item><item><title><![CDATA[多智能体协作的Open Deep Research，代码简单，一看就懂，适合新手学习]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/147306074</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/147306074</guid><author>wuud__</author><pubDate>Thu, 17 Apr 2025 14:48:15 +0800</pubDate><description><![CDATA[当收集到的信息过多时，SummarizerAgent 会介入，对累积的上下文进行压缩和整合，防止超出后续处理的限制。]]></description><category></category></item><item><title><![CDATA[Java基础--带你理解什么是注解]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/105882136</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/105882136</guid><author>wuud__</author><pubDate>Sat, 02 May 2020 00:20:35 +0800</pubDate><description><![CDATA[注解与注释的区别：

简单来说，注释是给人看的不会被编译器执行，注解是用来修饰代码的，会被编译器执行。
*四大元注解：

  元注解其实就是用来修饰注解的。


	@Retention: 定义注解的生命周期，注解将会在什么时候从源码中消失。

	
		RetentionPolicy.SOURCE：注解仅存在于源码中，编译时就会消失
		
		
		RetentionPolicy.CLASS： ...]]></description><category></category></item><item><title><![CDATA[阿里云服务器--配置安全组规则]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/105881939</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/105881939</guid><author>wuud__</author><pubDate>Fri, 01 May 2020 20:26:29 +0800</pubDate><description><![CDATA[位置：安全组 -&gt;配置规则


添加开放一些必用的端口，如80端口。只有开放了端口之后，外界才能访问



	首先找到配置安全组规则的地方
	


2.配置规则


端口范围：就是服务器开放的端口范围，例:80/90，就是开发80端口至90端口

授权对象：就是指明那些地址可以访问此服务器。0.0.0.0/0表示所有地址均可访问


配置完毕后，点击确定按钮即可
...]]></description><category></category></item><item><title><![CDATA[以斐波那契数列为例带你入门动态规划]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/105210698</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/105210698</guid><author>wuud__</author><pubDate>Mon, 30 Mar 2020 22:47:35 +0800</pubDate><description><![CDATA[我们先来使用递归的方法实现斐波那契数列：


    // 递归解决斐波那契问题
	public static int f(int N) {
		if (N &lt; 2)
			return N;
		else
			return f(N - 1) + f(N - 2);
	}


递归求值的缺点是什么呢？就是大量数值会被重复计算。举个例子，我们在计算f(5)的时候计算了f(4)和f(3)，在计...]]></description><category></category></item><item><title><![CDATA[JavaSE实现五子棋小游戏]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/105209813</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/105209813</guid><author>wuud__</author><pubDate>Mon, 30 Mar 2020 22:09:54 +0800</pubDate><description><![CDATA[适合Java练手用，及其简单，界面使用awt框架实现。

五子棋小游戏一共有四个类：background.java（画五子棋的背景）、constant.java（存储一些常量）、ruler.java（判赢规则）、Main.java（启动类）。

一步一步来，我们先定义好游戏内的常量（这里是我一点一点调出来的）：


public class constant {
    final static ...]]></description><category></category></item><item><title><![CDATA[Java8--行为参数化]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104703845</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104703845</guid><author>wuud__</author><pubDate>Fri, 06 Mar 2020 20:46:20 +0800</pubDate><description><![CDATA[行为参数化，是我在《Java 8 实战》中学到的。下面举一个例子来说明什么是行为参数化。

现在要写一个过滤器对所有的苹果按照不同条件进行过滤：

苹果实体类如下

public class Apple {
    private String color;
    private double weight;
    public Apple(String color, double weigh...]]></description><category></category></item><item><title><![CDATA[Java8--方法引用]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104703634</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104703634</guid><author>wuud__</author><pubDate>Fri, 06 Mar 2020 20:36:33 +0800</pubDate><description><![CDATA[方法引用：使用::分隔符实现方法引用

对Lambda表达式不熟悉的可以看这：https://blog.youkuaiyun.com/wuud__/article/details/104703443

可以使用方法引用的情况：

(args) -&gt; ClassName.staticMethod(args)可以简化为：ClassName::staticMethod。函数式接口内方法的参数与要引用方法的参数...]]></description><category></category></item><item><title><![CDATA[Java8--Lambda表达式与函数式接口]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104703443</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104703443</guid><author>wuud__</author><pubDate>Fri, 06 Mar 2020 20:28:56 +0800</pubDate><description><![CDATA[函数式接口：

如果接口中只有一个抽象方法（包括继承的），则该接口是一个函数式接口。
	下面的SmartAdder 就不是函数式接口，因为它有两个add方法（继承一个）

public interface Adder{
    int add(int a, int b);
}
public interface SmartAdder extends Adder{
    int add(double...]]></description><category></category></item><item><title><![CDATA[Bash Shell编程----Shell中的数组与字符串]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104520532</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104520532</guid><author>wuud__</author><pubDate>Wed, 26 Feb 2020 17:11:55 +0800</pubDate><description><![CDATA[Shell中的数组


	数组的定义： 在 Shell 中，用括号来表示数组，数组元素用"空格"符号分割开。

	
		例，array=(java spring python shell linux sql "spring boot")
		
		
		若是元素内也有空格，则必须使用引号
		
	
	
	数组的赋值：

	
		直接赋值：array=(java spring python shel...]]></description><category></category></item><item><title><![CDATA[Bash Shell编程----Shell中的变量]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104520348</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104520348</guid><author>wuud__</author><pubDate>Wed, 26 Feb 2020 17:05:44 +0800</pubDate><description><![CDATA[bash中的变量种类：


	本地变量：生效范围仅限当前shell进程，其子进程也无效。
	
	
	环境变量：生效范围是当前shell进程及其子进程
	
	
	局部变量：生效范围为当前shell进程中某代码片段（通常指函数）
	
	
	位置变量：$1,$2,$...，用户让脚本在脚本代码中调用命令行传给的参数。

	
		例，新建一个b.sh文件，内写a=$1b=$2echo $aecho ...]]></description><category></category></item><item><title><![CDATA[Mybatis之Mybatis的缓存]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104345524</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104345524</guid><author>wuud__</author><pubDate>Sun, 16 Feb 2020 17:28:39 +0800</pubDate><description><![CDATA[Mybatis有一级和二级缓存，默认开启的只有一级缓存，二级缓存也需要手动配置开启。

mybatis的一级缓存：


	如果在同一个session中，查询id=1的数据，查询两次，mybatis只会发起一次SQL语句，这就是一级缓存。
	
	
	一级缓存时各会话session中相互独立的，一个session的缓存，并不能影响到另一个。
	
	
	如果中途清空session，则之前的缓存也会全部消...]]></description><category></category></item><item><title><![CDATA[Mybatis之一个SQL语句说清#{}和${}的区别]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104345368</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104345368</guid><author>wuud__</author><pubDate>Sun, 16 Feb 2020 17:22:43 +0800</pubDate><description><![CDATA[先创建一个方法用来进行测试，方法对应xml文件内的sql语句如下



 &lt;select id="getMoreById" resultType="cn.mybatis.demo1.model.User"&gt;
 select * from User where id= ${start_id} or id = #{end_id}
 &lt;/select&gt;

修改Myba...]]></description><category></category></item><item><title><![CDATA[Mybatis之全局配置文件内的标签]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104345222</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104345222</guid><author>wuud__</author><pubDate>Sun, 16 Feb 2020 17:14:19 +0800</pubDate><description><![CDATA[properties：


	可以用来读取外面的properties文件。例如，可以将数据库的有关配置全放到一个jdbc.properties文件内，然后用properties标签读取。
	
settings：


	可以对MyBatis进行各项配置，里面有很多属性。例如，设置MyBatis使用驼峰命名法自动关联数据库内相关属性：&lt;setting name="mapUnderscoreTo...]]></description><category></category></item><item><title><![CDATA[Python基础--介绍python基础语法]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104148708</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104148708</guid><author>wuud__</author><pubDate>Sun, 02 Feb 2020 20:13:27 +0800</pubDate><description><![CDATA[字符串操作：

创造后不可变，是不可变类型
	字符串内元素的获取：字符串后可跟[]，用来取得字符串内的元素，正数表示正着数，负数表示倒着数。'hello'[0]=h。
	字符串的截取："hello world"[0:5]=hello，'hello world'[2:]=llo world（第二项不写，默认到最后）。
	字符串前边加r，表示原生字符串，防止转义字符。r"hello \n world"...]]></description><category></category></item><item><title><![CDATA[SQL必知必会（3）--逻辑操作符、通配符、字段的拼接、表的连接 及 数据的增删改]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104148267</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104148267</guid><author>wuud__</author><pubDate>Sun, 02 Feb 2020 19:30:59 +0800</pubDate><description><![CDATA[逻辑操作符


	AND：连接多个WHERE条件：SELECT name,age,sex FROM `user` WHERE age &gt; 18 AND sex=1;
	
	
	OR：用法同AND。
	
	
	计算次序：AND在计算中优先级比OR高，所以在进行操作符组合时要注意括号的使用。
	
	
	IN：用来指定条件范围，范围内的每个条件都可以进行匹配。例，SELECT name,age,s...]]></description><category></category></item><item><title><![CDATA[SQL必知必会（1）--带你了解SQL的各种子句]]></title><link>https://blog.youkuaiyun.com/wuud__/article/details/104148163</link><guid>https://blog.youkuaiyun.com/wuud__/article/details/104148163</guid><author>wuud__</author><pubDate>Sun, 02 Feb 2020 19:25:37 +0800</pubDate><description><![CDATA[SQL语句的执行顺序：


  下面按照在SQL语句中各关键词的顺序排放。

前面的第几步是数据库执行SQL语句时的执行顺序
	我的排列顺序是书写SQL语句时各关键词的排放顺序，不要搞混。



	–第五步：执行SELECT投影列
	
	
	–第一步：执行FROM
	
	
	–第二步：WHERE条件过滤
	
	
	–第三步：GROUP BY分组
	
	
	–第四步：HAVING条件过
	
	
...]]></description><category></category></item></channel></rss>