自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(378)
  • 资源 (10)
  • 收藏
  • 关注

原创 Spring WebFlux中DataBufferLimitException异常的解决方案

通过配置@Bean// 16MB.build();.build();代码说明:将16MB转换为字节单位:设置解码器内存缓冲区大小。

2026-03-31 11:57:53 50

原创 Webflux背压

背压的理念更像是一个调节阀,降低水压,以确保水流不仅安全,而且以最有效的方式运行。当数据生产速率超过消费者消费速率时,背压就会出现,它是系统中的流量控制机制。现在,了解了背压的重要性和机制后,让我们继续介绍在 Spring WebFlux 中实现背压的实际操作。要理解 Spring WebFlux 中的背压,首先要了解在网络协议层面,如 TCP,这一概念的含义。:客户端应用向服务器发起请求,例如,发起 HTTP 请求以获取特定数据,如大型对象集合或流数据。只保留最新元素,丢弃之前未处理的元素。

2026-03-31 11:53:07 381

原创 Reactor背压

背压是流体力学中借鉴过来的一个概念,它的原义是抵抗所需流体通过管道的阻力或力,引申到软件领域,即是响应式数据流的下游向它的上游反馈其处理能力的一种机制。背压的出现是为了解决上游组件的过量消息导致下游组件无法及时处理,从而导致系统崩溃的问题。当下游的负载过重时,它应当通过某种机制向上游反馈目前正在遭受过重的负载这个事实,以期上游能够减缓消息的下发,减轻自身的负载。背压是一种重要的反馈机制,使得系统在高负载的情况下能够良好地运行。反之当下游比较空闲时,可以向上游请求更多的消息进行处理。

2026-03-31 11:41:08 419

原创 Webflux之Schedulers,publishOn 和 subscribeOn

Schedulers类似Executor,是Reactor的线程调度接口。Schedulers类已经预先创建了几种常用的线程池:使用single()、elastic()和parallel()方法可以分别使用内置的单线程、弹性线程池和固定大小线程池。如果想创建新的线程池,可以使用newSingle()、newElastic()和newParallel()方法。Schedulers提供的以上三种调度器底层都是基于的,因此都是支持任务定时和周期性执行的;Flux和Mono的调度操作符和publishOn。

2026-03-31 11:20:00 306

原创 Webflux深度理解线程池新模型Schedulers包

本文介绍了在中Schedulers的相关知识与使用方法,并详细介绍了Scheduler与传统的区别,特别是在工程使用上的优化,例如采用无锁化的单线程的线程池,引入了调度层以及无界队列问题的解决等,下一篇文章中会进一步介绍其他工程上的优化,例如引入了metrics以及onHook的能力。

2026-03-30 10:57:00 376

原创 定制一个生产的WebClient

刚开始尝试使用 Spring WebFlux 的时候,很多人都会使用 Mono.fromFuture() 将异步请求转成 Mono 对象,或者 Mono.fromSupplier() 将请求转成 MOno 对象,这两种方式在响应式编程中都是不建议的,都会阻塞当前线程。因此,可以使用 Mono.fromSupplier() 方法将一个纯计算型的操作转换为 Mono 对象,而将一个异步返回结果的操作转换为 Mono 对象时,可以使用 Mono.fromFuture() 方法。

2026-03-27 15:43:12 327

原创 WebClient请求样例

Spring5带来了新的响应式web开发框架WebFlux,同时,也引入了新的HttpClient框架WebClient。WebClient是Spring5中引入的执行 HTTP 请求的非阻塞、反应式客户端。它对同步和异步以及流方案都有很好的支持,WebClient发布后,RestTemplate将在将来版本中弃用,并且不会向前添加主要新功能。

2026-03-27 15:41:44 369

原创 WebClient

在 Spring 5 之前,如果我们想要调用其他系统提供的 HTTP 服务,通常可以使用 Spring 提供的 RestTemplate 来访问,不过由于 RestTemplate 是 Spring 3 中引入的同步阻塞式 HTTP 客户端,因此存在一定性能瓶颈。这是推荐的模式,因为固定的共享资源是事件循环并发的首选。如果您想要传递传播到嵌套的附加请求的信息,例如通过flatMap,或者之后执行的信息,例如通过concatMap,那么您将需要使用Reactor上下文。因此,该响应不能在下游进一步解码。

2026-03-27 15:35:26 296

原创 Spring WebFlux 中的并发

本文将带你了解响应式应用中的并发。本文介绍了响应式和和传统编程模型之间的差异,还结合不同的 HTTP 运行时和 Reactive 库介绍了 WebFlux 中的线程模型。最后还介绍了在使用WebClient和数据访问库时,线程模型有何不同。

2026-03-27 12:05:25 385

原创 Webflux fromXXX对比

刚开始尝试使用 Spring WebFlux 的时候,很多人都会使用 Mono.fromFuture() 将异步请求转成 Mono 对象,或者 Mono.fromSupplier() 将请求转成 MOno 对象,这两种方式在响应式编程 中都是不建议的,都会阻塞当前线程。因此,可以使用 Mono.fromSupplier() 方法将一个纯计算型的操作转换为 Mono 对象,而将一个异步返回结果的操作转换为 Mono 对象时,可以使用 Mono.fromFuture() 方法。

2026-03-27 10:51:42 409

原创 Flux中的map、flatMap、concatMap、flatMapMany的区别

map:用于一对一的转换,返回一个新的Flux,元素顺序不变。flatMap:用于一对多的转换,返回一个新的Flux,元素顺序可能发生变化。concatMap:用于一对多的转换,返回一个新的Flux,元素顺序与原始Flux中的元素顺序保持一致。操作符并发度顺序保证适用场景flatMap高不保证无顺序要求的并发处理concatMap低 (1)严格保证需顺序处理的场景高保证输出顺序需并发处理但保持顺序选择使用哪种方法取决于具体的业务需求和对元素顺序的要求。

2026-03-27 10:36:30 342

原创 WebFlux综述

WebFlux是引入的一个模块,它是一个 非阻塞的、异步的、响应式的 Web 开发框架。WebFlux 设计的核心是为了 使用现代 Web 应用对于高并发、低延迟和高吞吐量的需求,它采用Reactive 编程模型,通过Reactor 库实现了异步数据流处理。在 WebFlux 中,HTTP 请求和响应被建模为Mono(代表 0~1 个元素的异步序列)和Flux(代表 0~N个元素的异步序列)类型,这些都是规范的一部分。这意味着 开发者可以通过声明式和函数式编程风格来处理请求和响应的数据流。Mono。

2026-03-26 23:25:37 325

原创 Webflux结合cassandra

这种方式能够实现从 Web 层到数据持久层的全链路非阻塞(Non-blocking)响应式流。在 Spring WebFlux 中调用 Cassandra,主要依赖。4. 在 WebFlux Controller 中调用。3. 定义实体与 Repository。由于 Repository 返回的是。注解定义数据模型,并继承。

2026-03-26 22:36:31 52

原创 WebFlux集成Redis

本文介绍了如何使用 Reactor 和 WebFlux 集成 Redis 来处理缓存操作。通过使用 ReactiveRedisOperations 和 Spring 框架的缓存注解,我们可以方便地实现响应式的缓存逻辑。这种方式可以提升系统的性能和扩展性,特别适用于高并发和大数据量的场景。

2026-03-26 22:33:50 166

原创 Webflux onErrorStop使用

Spring WebFlux中的onErrorStop算子用于控制错误传播边界,防止下游的onErrorContinue无限向上游蔓延。它通过建立错误隔离墙,确保局部错误处理逻辑(如onErrorResume)优先执行,不被全局的onErrorContinue覆盖。典型场景是当需要在flatMap内部实现特定错误恢复时,在局部处理逻辑后链式调用onErrorStop,既能保证当前错误处理生效,又能阻止下游"继续"指令向上渗透。代码示例显示,使用onErrorStop后局部恢复逻辑能按预期

2026-03-26 22:01:06 35

原创 WebFlux onErrorContinue 和 onErrorResume使用详解

秘诀是在 onErrorResume() 代码块的末尾添加 onErrorStop() ——这会阻塞 onErrorContinue(),这样它就不会在 onErrorResume() 之前占用错误。尝试删除 onErrorStop(),你会看到 onErrorContinue() 在 onErrorResume 之前弹出。因此,本质上是将可能在 flatMap 或 concatMap 中抛出错误的操作包装起来,并在其上使用。当两个错误处理函数在同一个函数中的时候很明显,但是当你的函数中只有。

2026-03-26 21:50:41 402

原创 穿搭拆解图提示词

香水 / 口红或润唇膏 / 防晒 / 护肤小样 / 身体乳 / 耳机 / 随身听 / 游戏机(可选)贴身层(合规服饰推测):【推测】内衣/内裤/情趣内衣/背心打底/安全裤/袜子(必须标注【推测】)剃毛刀/剃须刀 / 口香糖或薄荷糖 / 打火机与香烟/项链/耳钉/乳钉/舌钉(可选)创可贴 / 湿巾 / 避孕套/飞机杯/震动棒/跳蛋/润滑液/肛塞/口球/乳夹(可选)若不确定品牌:给区间价 + “估价”。配饰:帽子 / 眼镜 / 耳饰 / 项链 / 手表。外层:外套 / 夹克 / 西装 / 大衣 / 开衫。

2026-03-26 00:31:41 25

原创 Skills制作教程

hosts、clients、servers、resources、prompts、tools、sampling、roots、elicitation……Input: "生成一份本周周报,我完成了 Agent Skills 技术调研、修复了 3 个 bug,遇到的问题是测试环境不稳定"。这就是一个完整的 Skill。没有复杂的协议规范,没有 SDK 依赖,纯 Markdown + YAML,人能读、AI 也能读。1-64 字符,小写字母 + 数字 + 连字符,不能以连字符开头/结尾,不能连续连字符!

2026-03-25 15:47:22 470

原创 Anthropic推出Agent Skills:结构化上下文工程典范

是一种将指令、脚本和资源组织在特定文件夹中的机制,AI 代理可以动态地发现并加载这些“技能”,从而在执行特定任务时表现得更加出色。您可以将其类比为为一位新员工准备的“入职指南”。传统方法是为每个应用场景构建一个零散、定制化的代理,而 Agent Skills 则允许任何人通过捕捉和共享其程序化知识,为通用代理赋予可组合的专业能力。简单来说,一个“技能”就是一个包含SKILL.md文件的目录,该文件为代理提供了完成特定任务所需的全部指引。激活技能的 SKILL.md 文件。

2026-03-25 15:34:09 429

原创 Claude Code Agent Skills 深度解析:从加载到执行的完整生命周期

现在任何人都可以通过捕获和分享程序性知识,用可组合的能力来专业化他们的 Agent,而不是为每个用例构建碎片化的定制 Agent。这不是零散的功能堆砌,而是一个完整的。Skills 正好填补了这个空白:它可以引用 MCP 工具,并提供详细的使用指导,告诉 Claude "在这个场景下,先调用工具 A,检查返回值,如果成功再调用工具 B..."官方文档进一步解释:Skills 是可重用的、基于文件系统的资源,为 Claude 提供领域专业知识——工作流、上下文和最佳实践,将通用 Agent 转变为专家。

2026-03-25 15:32:55 408

原创 快手端到端生成式搜索框架OneSearch,让搜索“一步到位”!

电商搜索系统面临商品描述混乱、相关性差等痛点,快手提出首个工业级生成式框架OneSearch,通过三大创新提升搜索体验:1)关键词增强层次量化编码精准提取商品核心属性;2)多视角用户行为序列建模用户长短期偏好;3)偏好感知奖励系统实现个性化排序。实验显示该系统在CTR、CVR等指标显著提升,订单量增长3.22%,同时降低75%推理成本。该方案首次实现生成式模型取代传统级联架构,已成功部署于快手电商搜索场景,未来将探索实时编码和多模态优化。

2026-03-23 00:28:31 392

原创 什么是Skills?

AI技能(Skills)是当前AI领域的新热点,它将提示词、执行脚本和上下文优化打包成可调用的工具包。相比传统提示词,Skills能扩展AI能力边界,实现复杂任务如绘图、文件处理等。其核心包含元数据、行动指南和资源文件三部分,支持全局调用,节省计算资源。用户可通过配置特定目录结构加载开源技能包,让AI直接执行代码脚本完成特定任务,突破纯文本交互的限制。掌握Skills技术能显著提升AI应用的实用性和效率。

2026-03-23 00:23:38 376

原创 LLM大模型之精度问题(FP16,FP32,BF16)详解与实践

浮点数据类型在标准中进行了详细的定义,定义了不同精度的浮点数格式,如binary16、binary32和binary64,分别用16位、32位和64位二进制来表示,想要更全方位深入的了解的话,可以点引用查看官方的paper。下面进行一些常用的浮点数介绍。

2025-04-02 19:15:57 1985

原创 Spring实现异步流式接口

如何处理比较耗时的接口?这题我熟,直接上异步接口,使用Callable和等均可实现。但这些方法有局限性,处理结果仅返回单个值。在某些场景下,如果需要接口异步处理的同时,还持续不断地向客户端响应处理结果,这些方法就不够看了。Spring 框架提供了多种工具支持异步流式接口,如SseEmitter和。这些工具的用法简单,接口中直接返回相应的对象或泛型响应实体,如此这些接口就是异步的,且执行耗时操作亦不会阻塞Servlet的请求线程,不影响系统的响应能力。下面将逐一介绍每个工具的使用及其应用场景。

2025-03-30 17:06:42 1075

原创 LLM模型保存的常见格式汇总

这种格式文件包含 protobuf 对象序列化后的数据,包含了计算图,可以从中得到所有运算符(operators)的细节,也包含张量(tensors)和 Variables 定义,但不包含 Variable 的值,因此只能从中恢复计算图,但一些训练的权值仍需要从 checkpoint 中恢复。这意味着文件中不包含用于加载或操作模型的代码,从而降低了执行恶意代码的风险。:TensorFlow 的一种模型保存格式,它不仅保存模型的权重,还包括计算图和签名定义,使得模型可以用于预测、导出或进一步训练。

2025-02-23 19:23:50 1662

原创 大语言模型(LLM)微调技术笔记

但是, 这些模型有时可能表现出意外的行为,例如制造虚假信息、追求不准确的目标,以及产生有害的、误导性的和偏见性的表达。自主机器人在各个行业中被越来越广泛地应用,从制造业,它们可以使用精度和一致的质量组装复杂的组件,到医疗保健,可以协助进行医疗测试和处理,再到安全,可以监控大面积地区,保障人们和财产的安全。本质上,指令微调是在自然语言格式的实例集合上微调预训练后的大语言模型的方法。目前研究表明,PEFT 相比于全参数微调,在没有微调过的大语言模型上性能略差,但是在已经微调过的模型上,性能接近。

2025-02-23 16:58:20 1440

原创 Spring Boot 2 快速教程:WebFlux处理流程(五)

下面是spring mvc的请求处理流程具体步骤:第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找 Handler (可以根据xml配置、注解进行查找) 匹配条件包括:请求路径、请求方法、header信息等第三步:处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象,多个Handl

2025-02-03 17:06:20 2857

原创 Spring Boot 2 快速教程:WebFlux优缺点及性能分析(四)

我们始终都在不遗余力的追求如何开发一个高并发、低延迟的接口。通过本文实操以及linux服务器下长时间的压测,可以验证的是我们可以使用WebFlux来替代SpringMVC,从而获取更好的性能,更高的并发。如果你还和我一样,对WebFlux还一知半解,那么从今天起开始学习起来吧。

2025-02-03 16:33:30 2037

原创 Spring Boot 2 快速教程:WebFlux 集成 Mongodb(三)

上一讲用 Map 数据结构内存式存储了数据。这样数据就不会持久化,本文我们用 MongoDB 来实现 WebFlux 对数据源的操作。什么是 MongoDB?MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。由于操作方便,本文用 Docker 启动一个 MognoDB 服务。

2025-02-03 16:13:45 1528

原创 Spring Boot 2 快速教程:WebFlux Restful CRUD 实践(二)

上一篇基于功能性端点去创建一个简单服务,实现了 Hello。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里我们不对数据库储存进行访问,因为后续会讲到,而且这里主要是讲一个完整的 WebFlux CRUD。这里,探讨了 Spring WebFlux 的一些功能,构建没有底层数据库的基本 CRUD 工程。为了更好的展示了如何创建 Flux 流,以及如何对其进行操作。下面会讲到如何操作数据存储。

2025-02-03 16:09:50 1243

原创 Spring Boot 2 快速教程:WebFlux 快速入门(一)

本文主要讲了 Spring Boot 2.0 WebFlux 背景和快速入门使用。用的是基于功能性端点去创建一个服务,但这个有点代码偏多。下一章一个 CRUD 我们使用注解控制层,让开发更方便。

2025-02-03 16:06:07 1800

原创 HTTP异步Client源码解析

http请求发送时存在3种可能,1.连接池无可用管道,连接也没达到上限,那么将请求交给boss线程新建管道,再交给worker线程发送请求。2.连接池有可用管道,那么直接将请求交给worker发送。3.连接池无可用管道,且连接个数已达上限,那么请求阻塞等待。每个管道一次只能发送一次请求,下个请求只能等当前请求完成、管道释放后才能进行,通过管道个数来限制连接并发,导致管道利用率不高,这里也许可以进行部分优化。

2025-02-03 15:12:12 1373

原创 Java NIO全面详解

NIO 中的 N 可以理解为 Non-blocking,不单纯是 New,是解决高并发、I/O高性能的有效方式。Java NIO是Java1.4之后推出来的一套IO接口,NIO提供了一种完全不同的操作方式, NIO支持面向缓冲区的、基于通道的IO操作。新增了许多用于处理输入输出的类,这些类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写,新增了满足NIO的功能。

2025-02-02 17:03:12 1206

原创 Reactor异步化

异步化并不是高并发的银弹,但是有了异步化的确能提高你机器的qps,吞吐量等等。上述讲的一些模型如果能合理的做一些优化,然后进行应用,相信能对你的服务有很大的帮助的。

2025-02-02 16:35:00 720

原创 函数式编程的Java编码实践:利用惰性写出高性能且抽象的代码

函子运算可以将一个 T 映射到 S 的 function 应用到 Box<T> 上,让其成为 Box<S>,一个将 Box 中的数字转换为字符串的例子如下:在盒子中装的是类型,而不是 1 和 "1" 的原因是,盒子中不一定是单个值,比如集合,甚至是更加复杂的多值映射关系。// 反例,不能成为函子,因为这个方法没有在盒子中如实反映 function 的映射关系public Box<S> map(Function<T,S> function) { return new Box<>(null);

2025-01-31 16:39:12 1031

原创 百川发布推理思考模型M1-preview,行业首个开源医疗增强大模型M1-14B

面向细分医疗场景,收集了万亿级 token 的严肃医疗数据,涵盖了千万级的中/英文专业医疗论文、院内真实中/英文医疗病例,亿级的医疗问答、医疗问诊、临床数据等,还对全网数据进行了包括医疗科室、医疗内容以及医疗价值在内的分类评估,确保模型能学习到有价值且全面的医疗知识。为了推动AI技术在医疗领域的创新发展,增强AI医疗技术的透明度和可信性,提高医疗服务的可及性,繁荣AI医疗生态,我们开源了Baichuan-M1的小尺寸版本模型Baichuan-M1-14B。众所周知,成立以来我们一直专注于AI医疗领域。

2025-01-31 09:18:20 1433

原创 Mooncake阅读笔记:深入学习以Cache为中心的调度思想,谱写LLM服务降本增效新篇章

本文是阅读Mooncake技术报告的学习笔记。短短一年内,创业团队能做出Mooncake这种完整的系统工作,并在线上服务海量用户,实打实节约成本,并给社区一些方向层面的输出,是非常了不起的成就。

2025-01-30 19:27:53 1545

原创 MiniMax-01技术报告解读

刚刚MiniMax发布了MiniMax-01,简单测试了效果,感觉不错。于是又把它的看了一下。这种报告看多了,就会多一个毛病,越来越觉得自己也能搞一个。这篇文章我觉得最有意思的一句是对的强调“MiniMax-01系列模型通过创新的Lightning Attention和专家混合(Mixture of Experts, MoE)架构,实现了在长上下文处理上的突破性进展。

2025-01-30 16:03:41 1947

原创 DeepSeek-R1能力详解

我们介绍了我们的第一代推理模型,DeepSeek-R1-Zero和DeepSeek-R1。DeepSeek-R1-Zero,一个通过大规模强化学习(RL)训练的模型,没有经过初步的监督微调(SFT)步骤,展示了卓越的推理能力。通过RL,DeepSeek-R1-Zero自然地涌现出许多强大而有趣的推理行为。然而,它也遇到了一些挑战,例如可读性差和语言混合。为了解决这些问题并进一步提高推理性能,我们引入了DeepSeek-R1,它在RL之前结合了多阶段训练和冷启动数据。

2025-01-30 15:34:49 5800

原创 DeepSeek-V3技术报告(全文)

DeepSeek-V3 是一款性能卓越的语言模型,整体参数规模达到,其中每个 token 激活的参数量为。评估结果表明,DeepSeek-V3,并能够与主流闭源模型相媲美。图1:DeepSeek-V3和竞品的各科目考分对比。

2025-01-29 22:19:52 2185

uncased_L-2_H-128_A-2.zip

bert tiny We have shown that the standard BERT recipe (including model architecture and training objective) is effective on a wide range of model sizes, beyond BERT-Base and BERT-Large. The smaller BERT models are intended for environments with restricted computational resources.

2020-11-18

mspn人体姿态检测算法模型

CVPR 2019 | Rethinking on Multi-Stage Networks for Human Pose Estimation CVPR 2019 | MSPN 重新思考多阶段人体姿态估计网络模型资源 没有coco数据

2020-08-16

SipMask_R_101_ms_3模型

SipMask-benchmark (image instance segmentation) R101 模型

2020-08-16

sipmask_r50_caffe_fpn_ssd_gn_10x.pth

sigmask算法pytorch模型,https://arxiv.org/pdf/2007.14772.pdf,论文名称:SipMask: Spatial Information Preservation for Fast Image and Video Instance Segmentation (ECCV2020)

2020-08-02

sipmask_r50_caffe_fpn_gn_ms_1x.pth

sigmask算法pytorch模型,https://arxiv.org/pdf/2007.14772.pdf,论文名称:SipMask: Spatial Information Preservation for Fast Image and Video Instance Segmentation (ECCV2020)

2020-08-02

JAVA加密和解密的艺术(第二版).zip

JAVA加密和解密的艺术(第二版),以及源代码,PDF保证绝对是第二版,骗人是小狗!

2019-06-05

openbilibili-go-common-master

B站后台代码,go语言编写,分享给需要的人,本代码仅用于学习用途,禁止商业应用。

2019-04-28

documents.zip

Elasticsearch in Action 全文检索(英文版),Elasticsearch 权威指南(中文版)

2019-06-05

corejava.rar

java核心技术,原书第十版,上线两册代码,经过整理。

2019-06-25

Java核心技术.zip

java核心技术卷1和卷2,原书第十版,高清版,带书签。

2019-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除