- 博客(546)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 什么是park和unpark
摘要:park和unpark是Java底层线程控制的工具,位于LockSupport类中。park阻塞当前线程,unpark唤醒指定线程,基于"许可证"机制(0或1状态)。相比wait/notify,它们不依赖锁、支持精确唤醒且允许先unpark后park,避免信号丢失。主要应用于AQS框架(如ReentrantLock),实现高效线程阻塞/唤醒。底层通过Unsafe类调用操作系统原语(如Linux的futex),性能优于传统同步机制。虽然开发者极少直接使用,但理解其原理对掌握Java并
2025-06-13 00:46:08
238
原创 用volatile修饰数组代表什么意思,Java
volatile修饰数组时仅保证数组引用的可见性,而不保证数组元素的可见性。当数组引用被修改(如指向新数组)时,所有线程能立即看到变化;但数组元素的读写操作仍存在数据竞争风险。要让数组元素具备volatile特性,需使用AtomicReferenceArray,它能确保每个元素的原子性和可见性。volatile适用于引用更新场景,而元素级操作需用并发工具类实现线程安全。
2025-06-12 22:09:43
183
原创 什么是Java bean的依赖注入
本文介绍了Java Bean的依赖注入(DI)设计模式及其实现方式。依赖注入通过外部容器管理对象依赖,相比传统紧耦合方式(内部创建依赖)更具优势。文章详细讲解了三种主要注入方式:构造函数注入、Setter注入和字段注入,并提供了Spring框架中的使用示例。依赖注入的优势包括松耦合、可测试性、配置集中化和重用性。最后给出了最佳实践建议,如优先使用构造函数注入、避免循环依赖等。依赖注入是现代Java开发的核心概念,能显著提升代码可维护性。
2025-06-09 15:32:20
552
原创 Redis设置为windows开机启动
本文简要介绍了Windows系统下Redis服务的安装步骤。首先需要进入Redis安装目录,然后在该目录的命令行窗口中执行安装命令。如果Redis配置了密码(在redis.windows.conf文件中requirepass项设置),安装时需要特别注意。核心安装命令为:redis-server --service-install redis.windows.conf --loglevel verbose。文章配有相关操作截图辅助说明。
2025-06-09 08:48:59
153
1
原创 详细叙述一下Spring如何创建bean
Spring创建Bean的完整过程包括多个关键阶段:首先通过注解、XML或Java配置定义Bean,并解析为BeanDefinition。随后进行实例化前处理、反射实例化对象、属性填充(依赖注入)、Aware接口回调。接着执行BeanPostProcessor前置处理、初始化方法(@PostConstruct、InitializingBean、自定义init)。最后进行BeanPostProcessor后置处理(如AOP代理)和销毁阶段(@PreDestroy、DisposableBean)。整个过程体现了
2025-06-08 11:47:44
413
原创 构建一个“论文检索 + 推理”知识库服务,支持用户上传 PDF/LATEX 源码后,秒级检索并获得基于内容的问答、摘要、引用等功能
本文介绍了一个端到端的“论文检索+推理”知识库服务系统。该系统支持用户上传PDF/LaTeX文档后实现秒级检索,提供基于内容的问答、摘要和引用功能。核心架构包括:数据管道(文档解析、分块、嵌入和索引构建)、混合检索策略(BM25和语义检索融合)、微服务化设计(嵌入、检索、记忆和摘要服务)以及基于Agent的交互系统。系统采用可插拔组件设计,支持热替换嵌入模型和重排器,并通过监控指标(nDCG@10、忠实度、延迟等)持续优化。该方案在检索效率、功能完整性和系统弹性方面具有显著优势。
2025-05-29 09:05:36
742
原创 Function calling的过程
本文详细介绍了LLM函数调用的完整链路,包括开发者定义函数、用户请求、模型决策和执行器调用的协作过程。关键步骤涵盖函数注册、模型推理、执行调用、结果回注和最终生成。文章还强调了实现细节如JSON-Schema约束、多轮调用和错误处理,并提供了伪代码示例。最后总结了常见问题与处理建议,指出掌握函数调用模式可实现LLM与各种后端系统的智能对接。
2025-05-29 08:58:24
815
原创 rerank一般用什么模型
文章摘要: Rerank模型在RAG/检索系统中用于优化粗排结果,显著提升准确率。主流方案包括轻量级Cross-Encoder(如MiniLM-L6、BGE-Reranker,适合实时搜索)和中小型LLM Reranker(如4B参数的NV-Mistral,适合复杂推理)。开源模型推荐BGE系列,商业API可选Cohere或Amazon Bedrock。选型需平衡语言、上下文长度和延迟,轻量级优先BGE,云端选Cohere,复杂任务用4B级LLM。实践建议混合策略,结合点式和列表式排序以优化效果。
2025-05-29 08:50:15
874
原创 详解AIAgent结构
本文深度解析了AI Agent的典型架构,将其划分为六大松耦合逻辑层:接口层(交互)、感知层(解析输入)、记忆层(上下文存取)、认知/推理层(决策)、行动层(执行)和监督与安全层(合规控制)。文章详细阐述了各层功能,给出运行伪代码,并强调模块化设计、异步处理、自我优化和安全优先等关键原则。AI Agent融合算法、状态机和工具编排,其记忆与推理层的设计质量直接影响智能体性能。这种架构兼具微服务扩展性和黑板系统协作特性,需配套专业DevOps工具链支持。(149字)
2025-05-29 08:31:53
976
原创 mcp工具(mcp指的是模型上下文协议)和Agent区别
MCP工具(模型上下文协议)与Agent的核心区别在于:MCP是管理记忆与状态的通信协议,负责结构化存储和检索上下文数据(如用户画像、对话历史);而Agent是自主决策的智能体,能够规划任务、调用工具(包括MCP)并执行复杂目标。MCP充当"记忆管家",提供统一接口简化记忆管理;Agent则是"执行者",通过推理循环实现任务自动化。开发者使用MCP统一管理上下文,而依赖Agent实现智能决策与行动。简言之,MCP是工具层协议,Agent是系统级角色,可将MCP作为子组
2025-05-29 08:09:39
352
原创 Bert和GPT区别
摘要:BERT和GPT均基于Transformer架构,但BERT采用双向编码结构,适合文本理解任务(如分类、问答);GPT使用单向解码器,专注文本生成(如对话、续写)。BERT通过MLM和NSP预训练,而GPT基于自回归语言建模。BERT输出整句向量,GPT逐步生成文本。BERT家族优化理解能力,GPT系列侧重生成规模与流畅度,两者分别代表NLP的理解与生成方向。
2025-05-28 23:05:04
811
原创 Function calling和mcp区别
摘要: Function calling 是 OpenAI 提供的 API 功能,允许模型根据对话内容自动调用预定义函数(如天气查询),输出结构化 JSON 指令,适用于简单工具扩展。MCP 则是由 Anthropic 提出的开放协议,提供更全面的交互层,涵盖资源管理、工具调用、提示词优化和传输标准化,支持复杂任务(如企业自动化)。两者的核心差异在于:Function calling 是单模型内建功能,专注简单函数调用;MCP 是跨平台协议,支持多步骤、多工具协同的复杂场景。选择取决于需求复杂度,轻量级交互
2025-05-28 23:03:07
728
原创 Java缓存一致性,为什么更新数据库就是先更新数据库后删除缓存,而不是先更新数据库,后直接插入缓存
摘要: Cache-Aside策略采用“更新数据库→删除缓存”而非直接更新缓存,主要为了避免并发场景下的数据不一致。直接更新缓存可能因并发读写导致旧值覆盖新值或缓存与数据库不一致,而删除缓存能强制后续读请求回源数据库,确保数据最新性。相较Write-Through策略,Cache-Aside通过简化流程(仅删缓存)降低实现复杂度,天然避免旧值写入,更适合高并发场景。核心结论:优先选择“更新DB+删缓存”以保证一致性。
2025-05-28 15:32:13
343
原创 “Error: com.mysql.jdbc.Driver not loaded. Are you sure you‘veincluded the correct jdbc driver in :j
在Logstash中集成MySQL时,若遇到com.mysql.jdbc.Driver未加载的问题,可以通过以下步骤解决:将MySQL的JDBC驱动jar包放置在/usr/share/logstash/logstash-core/lib/jars/目录下,或直接将其放入Logstash的安装目录中。完成后,重新运行Logstash命令即可。此方法参考了Stack Overflow上的相关讨论,确保驱动正确加载后,Logstash能够顺利连接MySQL数据库并执行同步操作。
2025-05-19 15:32:08
183
原创 令牌桶和漏桶算法使用场景解析
令牌桶和漏桶算法是两种常见的流量控制方法,适用于不同的场景。令牌桶允许突发流量,适合需要瞬时弹性且下游能处理高并发的场景,如API网关限流、微服务削峰等。漏桶则确保流量始终匀速输出,适合下游无法承受峰值或需要绝对平滑的场景,如日志写入、打印任务等。在实际应用中,通常采用组合策略:入口使用令牌桶允许突发,出口使用漏桶保护下游。以小红书为例,API网关采用令牌桶限流,允许用户突发操作,而业务微服务使用漏桶确保数据库和推荐系统不被压垮。这种组合既能保证用户体验,又能保护核心依赖的安全。
2025-05-17 15:50:45
997
原创 the request was rejected because no multipart boundary was found
the request was rejected because no multipart boundary was found
2025-05-15 13:44:39
288
原创 curl发送数据不为null,但是后端接收到为null
本文介绍了在使用curl命令发送POST请求时,如何正确设置请求头和JSON数据。示例中,请求发送到http://localhost:8080/xiaozhi/test,并包含一个JSON对象{"age":123}。同时,文章指出在代码中导入注解时出现的错误,并提供了正确的导入方式,即使用import org.springframework.web.bind.annotation.RequestBody;。这有助于确保Spring框架能够正确处理请求体中的JSON数据。
2025-05-13 16:07:36
234
原创 maven工程跳过@SpringTest
在Spring Boot项目中,每次运行应用时都会自动测试所有带有@SpringBootTest注解的类,导致启动时间较长。通过在根pom.xml文件中添加maven-surefire-plugin插件,并配置<skipTests>true</skipTests>,可以跳过这些测试,从而显著减少启动时间。实测表明,这一优化可以节省2分钟以上的时间,提升开发效率。
2025-05-13 15:07:44
342
1
原创 (cvpr24)Ye_Learning_Diffusion_Texture_Priors_for_Image_Restoration_CVPR_2024_paper
(cvpr24)Ye_Learning_Diffusion_Texture_Priors_for_Image_Restoration_CVPR_2024_paper
2025-05-08 23:00:40
1067
原创 什么是先验?(CVPR25)Detail-Preserving Latent Diffusion for Stable Shadow Removal论文阅读
(CVPR25)Detail-Preserving Latent Diffusion for Stable Shadow Removal论文阅读
2025-05-07 10:03:52
934
1
原创 MUSIQ ,MANIQA,CLIP-IQA,FID是什么指标,分别是如何计算的(图像恢复领域评价指标
MUSIQ ,MANIQA,CLIP-IQA,FID是什么指标,分别是如何计算的(图像恢复领域评价指标
2025-05-06 21:33:08
796
原创 Diffusion文献阅读DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior
Diffusion文献阅读DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior
2025-05-06 11:08:14
993
原创 an‘t initialize Background Jobs. Error message: Operation not permittedis set to the lower value of
an't initialize Background Jobs. Error message: Operation not permittedis set to the lower value of
2025-04-30 23:52:42
262
原创 Can‘t create thread to handle bootstrap
Can't create thread to handle bootstrap
2025-04-30 23:35:00
368
原创 ERROR: The Compose file ‘././docker-compose.yml‘ is invalid because: Unsupported config option for s
root@ubuntu:/data# docker-compose -f docker-compose.yml up -dERROR: The Compose file './docker-compose.yml' is invalid because:Unsupported config option for services: 'redis'
2025-04-30 22:30:48
283
原创 docker: failed to copy: httpReadSeeker: failed open: failed to do request:“: EOF
docker: failed to copy: httpReadSeeker: failed open: failed to do request:": EOF
2025-04-28 20:26:46
219
PHP写链表 页面刷新问题
2021-06-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人