自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大家好,我是敖云岚,一个沉迷代码的 “技术玩家”。擅长 Java、C++ 开发,对 MySQL、Redis、RabbitMQ 等技术也颇有研究。博客里既有硬核技术干货,也有诙谐幽默的编程日常分享。愿和你一起,笑着学技术,快乐敲代码!

写博客时,我时而化身严肃的 “代码教官”,剖析技术原理;时而变身搞笑 “段子博主”,用趣味比喻让枯燥知识 “活” 起来。别担心技术太难,跟着我,咱们一边吐槽代码里的 “坑”,一边解锁编程的超能力,在技术江湖里浪出独特风采!

  • 博客(171)
  • 收藏
  • 关注

原创 【保姆级教程】免费使用 Gemini3!(20251120)

本文介绍了使用Google AI Studio的步骤指南。首先需通过特殊网络访问官网并登录谷歌账号,然后选择"Chat with models"功能进行对话交互,或点击"Build"通过代码构建应用。实际测试显示,该平台的大模型展现出强大的生成能力,执行效果出色。整个过程从访问到结果生成仅需简单几步操作。

2025-11-20 20:39:30 884

原创 【设计模式】我认为比较复杂的行为型设计模式-责任链模式

本文介绍了责任链模式及其在请假流程控制系统中的应用实现。责任链模式通过将请求处理者链式连接,实现请求的传递和处理,降低了对象间耦合度。案例演示了请假审批流程:小组长处理1天以下请假,部门经理处理1-3天,总经理处理3-7天及以上。系统通过抽象处理者和具体处理者(GroupHandler、Manager、GeneralManager)实现多级审批,支持动态调整处理流程。该模式的优点包括降低耦合、增强扩展性和灵活性,但也存在请求可能未被处理、性能影响等缺点。

2025-11-20 18:37:09 710

原创 【设计模式】简单易懂的行为型设计模式-策略模式

策略模式是一种行为设计模式,它将算法封装成独立类,使它们可相互替换。本文以百货公司节日促销为例,演示了策略模式的实现:定义Strategy接口和具体策略类(春节、中秋、圣诞促销),通过Salesman环境类调用不同策略。该模式将算法使用与实现分离,便于扩展新策略而不影响现有代码,适用于需要动态切换算法的场景。

2025-11-19 17:24:46 942

原创 【疑难解答】IDEA 的JDK 版本的检查与切换

本文介绍了在IDEA中检查JDK配置的三个步骤:首先查看项目结构的JDK版本是否一致,确保Sources和Dependencies模块的JDK配置相同;其次检查编译器使用的JDK版本是否正确;最后建议清除缓存并重新加载项目。这三个步骤能有效解决因JDK版本不一致导致的编译问题。

2025-11-19 08:00:00 406

原创 【入职指南】4. IDEA 中配置并使用 Lombok

Lombok安装指南包含三个关键步骤:首先通过插件商城下载Lombok;其次需确认IDEA编译器设置为javac以支持Lombok功能;最后添加IDEA对Lombok编译方式的支持。整个安装过程简洁明确,确保开发环境正确配置Lombok工具。(98字)

2025-11-18 17:42:17 158

原创 【入职指南】3. IDEA 参数配置解决项目启动慢的情况

针对IDEA运行缓慢问题,给出两个优化方案:1)修改VM参数,建议在idea64.exe.vmoptions文件中调整内存配置(Xms2048m/Xmx4096m等),提升运行效率;2)对于Gradle项目,可通过修改Settings中的Gradle使用方式进一步优化。这些调整能显著改善IDEA在8G/16G内存电脑上的运行性能。(99字)

2025-11-18 11:32:48 440

原创 【入职指南】2.导入 gradle 项目,解决右侧 gradle 图标不显示问题(适用于 maven)

在Android开发中,连接Gradle项目需要三个步骤:首先定位项目的build.gradle文件,然后寻找"Link Gradle Project"选项,最后观察项目结构的变化。这一过程确保了Gradle配置与项目正确关联。

2025-11-18 10:17:23 172

原创 【入职指南】1.基于 Gitlab 拉取远程项目的配置

本文介绍了通过SSH配置GitLab项目拉取的步骤。首先确保安装Git并登录GitLab账户,进入SSH-KEY页面生成密钥。在Git Bash中输入命令ssh-keygen -trsa -C "邮箱",复制生成的公钥内容并添加到GitLab。最后通过git clone命令验证配置成功,避免频繁输入账号密码。适用于Windows系统用户快速建立安全的GitLab连接。

2025-11-18 09:52:16 353

原创 【疑难解答】@Value 注解不生效的原因

@Value注解注入属性失败问题分析。当@Value注解失效导致属性值为NULL时,需检查:1)类是否被@Component等注解修饰;2)字段不能为static或final;3)配置文件必须包含该属性值。案例中因使用static修饰字段导致失效,解决方案是移除static关键词即可正常注入配置值。

2025-11-11 16:55:41 188

原创 【疑难解答】MySQL 报错 Public Key Retrieval is not allowed

摘要:MySQL 8.x服务器在使用DBeaver连接时出现"PublicKeyRetrieval is not allowed"错误。解决方法是在连接配置中添加"allowPublicKeyRetrieval=true"参数,修改后即可成功建立远程连接。该方法简单有效,无需复杂配置即可解决该认证问题。

2025-11-10 22:53:08 188

原创 1.n8n 的搭建与使用

n8n支持Node.js和Docker两种部署方式。Node.js部署快速简单,Docker方式则更便于管理数据库、迁移和兼容性。Docker部署步骤包括:安装Docker Desktop、拉取n8n镜像、配置数据挂载以防止数据丢失。可选设置为中文界面,需下载对应版本的中文插件,通过指定卷挂载规则和语言环境变量来实现。最后重启容器即可完成部署。

2025-10-15 23:00:45 489

原创 【Coze】2.智能体开发基础

智能体是基于大语言模型构建的自主执行系统,具备环境感知、数据分析和任务执行能力。创建智能体时,用户可选择标准创建或AI生成方式,并设置三种工作模式:自主规划型(独立完成任务)、对话流程型(预设交互路径)和多代理协同型(专家团队协作)。系统支持国内主流大模型,通过数据预处理、自监督学习、推理生成和对齐优化四个步骤实现智能交互。用户可调整温度值等关键参数控制输出效果,并采用CO-STAR框架编写提示词。完成调试后,智能体可部署至各大社交平台,通过自然化的话术设计和结构化问题处理框架优化用户体验。

2025-10-07 11:10:20 704

原创 【Coze】1.Coze 的基本介绍

Coze(扣子)是字节跳动开发的零代码AI应用开发平台,支持用户快速构建智能体、应用等AI项目。平台提供可视化工具、API/SDK集成能力,以及扣子开发平台、罗盘管理系统、Eino开源框架和扣子空间四大核心产品。用户可通过抖音、手机号等方式注册,免费使用基础功能或付费升级服务。Coze空间支持自然语言交互,能自动完成各类任务,如生成PPT或诗歌等,让AI开发像日常对话一样简单。

2025-10-07 10:22:03 1750

原创 【1.SpringAI】3.SpringAI 聊天模型的介绍

本文介绍了SpringAI框架中ChatClient和ChatModel两大核心组件的功能与区别。ChatClient是高级API,简化了与大语言模型的交互流程,支持角色预设、结构化输出和流式输出等功能。ChatModel则是底层接口,提供更灵活的模型交互能力。二者分别适用于不同场景:ChatClient适合快速开发标准化对话应用,ChatModel则提供更精细的控制能力。文章通过代码示例展示了如何使用这两个组件实现简单对话、角色预设、结构化输出和流式输出等功能,为开发者构建对话式AI应用提供了实用指导。

2025-10-02 17:37:42 1011 3

原创 【1.SpringAI】1.SpringAI 的概述

《AI与SpringAI框架概述》摘要:人工智能(AI)是通过算法模拟人类智能的技术,其发展历经萌芽期(1940s)、黄金时代(1956)、复兴期(1980s)到当前爆发期,重要里程碑包括AlphaGo和ChatGPT。SpringAI是2025年Spring生态发布的AI集成框架,为Java开发者提供标准化AI工具链,支持多模型厂商和统一API接口,简化企业级AI应用开发。关键概念包括大语言模型(LLM)、提示词系统和词元计费机制,其中LLM如GPT-5、DeepSeekR1等各具特色。该框架通过抽象层设

2025-09-30 12:15:42 772

原创 【4.SpringAI Alibaba】1.SpringAIAlibaba 的介绍

SpringAIAlibaba是基于SpringAI框架深度适配阿里云生态的AI开发工具,提供高阶API抽象和云原生集成方案。主要功能包括:支持通义千问等大模型服务、RAG增强开发、矢量数据库存储、函数调用及智能体构建等。相比SpringAI,它在阿里云生态集成、RAG功能增强和生产级应用支持方面更具优势。通过简单配置即可快速实现聊天机器人功能,并支持切换不同大模型和本地私有化部署。该框架还提供多智能体框架、企业级解决方案和可观察性等特性,适用于构建复杂的AI应用。

2025-09-30 11:58:04 1470

原创 【项目开发指南】简单谈谈软件的生命周期

软件生命周期包含10个阶段:可行性研究(确定项目可行性)、需求分析(明确功能需求)、概要设计(系统架构设计)、详细设计(模块详细描述)、实现(编码)、组装测试(模块集成)、确认测试(验收测试)、使用(交付运行)、维护(持续改进)和退役(终止支持)。每个阶段有明确的交付物和任务,从项目评估到最终退出使用,形成完整的开发管理流程。

2025-09-08 00:59:14 300

原创 【Java】SVN 版本控制软件的快速安装(可视化)

SVN(Subversion)是一款集中式版本控制系统,采用客户端-服务器架构,所有版本信息存储在中央服务器中。与Git相比,SVN权限控制精细但依赖网络连接,适合小型项目。安装配置包括服务器端创建版本仓库(svnadmin create)和客户端集成(TortoiseSVN)。工作流程为:检出代码→本地修改→更新解决冲突→提交变更。服务器端通过svnserve命令监管仓库,客户端通过右键菜单操作,支持中英文切换。SVN适合需要严格权限管理的开发场景。

2025-07-22 17:56:06 1030

原创 【Java】新项目中 JDK17 降级为 JDK8 的基本步骤

JDK降级操作指南:1)检查并确保pom.xml中SpringBoot版本为2.x系列;2)在properties标签中设置java.version为1.8;3)调整项目运行环境为JDK1.8;4)修改Project的SDK版本为1.8;5)最后将Modules的JDK版本也同步改为1.8。通过这五个步骤即可完成Java项目从高版本JDK到1.8版本的降级操作。(99字)

2025-07-22 13:51:22 438

原创 【Java】记录解决“程序包 sun.misc不存在”的问题

本文针对IDEA中使用Maven下载依赖后仍存在问题的情况,提供了解决方案。首先需要打开Project Structure设置,然后检查并修改项目的JDK版本配置。该方案适用于因JDK版本不匹配导致的依赖下载问题,通过调整JDK版本设置可有效解决此类问题。(48字)

2025-07-22 13:42:14 693

原创 【AI-Agent】Trae 的使用体验

Trae是一款集成AI助手的编程软件,支持代码管理和智能问答。国内版官网为trae.com.cn,国际版依赖Claude提供更美观的UI。安装时建议Windows用户选择D盘,安装后需登录并配置。使用示例:输入"制作百度首页",AI生成代码后需安装npx命令进行预览,实际效果出色。软件提供主题选择和第三方账号登录功能。

2025-07-15 17:26:53 659

原创 【SVN】SVN 客户端的安装与操作

SVN客户端使用指南摘要:本文介绍了SVN客户端的基本安装与使用方法。首先需从官网下载安装SVN客户端及语言包,安装后会集成到系统右键菜单。使用步骤包括从服务器拉取项目(检出操作)、用户认证等。重点注意事项包括不能手动修改.svn隐藏目录。文章还说明了SVN文件状态图标含义(正常、修改、冲突等)以及基本操作:将文件添加到版本库、提交变更、版本回退和查看日志。SVN通过特定图标直观显示文件状态变化,帮助用户管理版本控制。

2025-07-14 14:29:40 1581

原创 【Dify】Dify 应用开发平台的介绍

Dify是一款开源的大语言模型(LLM)应用开发平台,采用后端即服务(BaaS)和LLMOps理念,帮助开发者快速构建生成式AI应用。该平台提供可视化界面、RAG引擎、Agent框架等功能模块,支持数百种模型,可实现零代码/低代码开发,适用于智能客服、AI写作等场景。Dify的优势在于降低开发门槛和成本,支持插件扩展和多模态交互,同时提供企业级应用支持。硬件要求为CPU≥2核、内存≥4GB。适用于企业、开发者和个人用户快速实现AI应用开发。

2025-07-14 07:00:00 1430

原创 【SpringAI Alibaba】基于 Redis 实现连续对话与向量存储

本文介绍了基于Redis实现AI连续对话和向量存储查询的技术方案。在连续对话方面,通过添加Redis存储器依赖和配置Redis连接信息,使用MessageWindowChatMemory保存历史对话,实现多轮对话上下文记忆功能。在向量存储方面,详细说明了RedisVectorStore的配置和使用流程,包括安装RediSearch插件、添加向量数据、避免重复存储以及相似度查询的实现方法。整个方案利用Redis高性能特性,解决了大模型对话记忆和向量检索的关键问题,为AI应用开发提供了高效可靠的技术实现路径。

2025-07-13 14:19:57 581

原创 【SpringAI Alibaba】提示词工程+结构化输出+决策分析

本文介绍了提示词工程、结构化输出和决策分析的三大技术要点。在提示词工程部分,详细阐述了Prompt的概念、发展历程以及PromptTemplate的动态内容管理优势。结构化输出部分讲解了如何将LLM结果转换为JSON等可编程数据类型的方法。决策分析部分重点说明了意图识别的作用、应用场景和代码实现,包括智能客服、语音助手等典型用例。全文通过SpringAI的代码示例,展示了提示词模板、结构化输出转换和意图识别的具体实现方式,体现了AI技术在实际业务场景中的应用价值。

2025-07-13 13:28:31 1153

原创 【SSM】SpringBoot 实现邮件发送

本文介绍了使用Spring Boot发送邮件的完整流程:1. 准备工作(开启163邮箱SMTP服务并获取授权码);2. 添加Spring邮件starter依赖;3. 配置邮件服务器参数;4. 编写邮件发送代码,包括创建控制器、注入邮件发送器、设置收件人信息等。文中提供了完整的示例代码,包含邮件实体类定义和发送接口实现,可快速实现邮件发送功能。

2025-07-13 11:16:46 400

原创 【Python-网络爬虫】爬虫的基础概念介绍

网络爬虫的作用与应用场景全面解析网络爬虫(Web Crawler)作为互联网数据采集的核心技术,在当今数字化时代发挥着不可替代的作用。根据搜索结果,我将系统性地介绍爬虫的主要功能、应用场景和技术特点,帮助您全面理解这一技术的价值与边界。

2025-07-07 16:04:17 1122

原创 【AI】Spring AI Alibaba 的介绍

SpringAIAlibaba是基于SpringAI构建的开源项目,为开发者提供阿里云通义系列模型的高层次API抽象与云原生集成方案。该项目支持多种AI模型服务(如聊天、文生图、音频转录等),具备同步/流式API调用、结构化输出、矢量数据库存储、函数调用及RAG开发模式等功能,帮助开发者快速构建复杂AI应用。文章还介绍了AI模型、提示词模板、嵌入向量、Token计算等核心概念,以及检索增强生成(RAG)和函数调用等关键技术,展现了Java生态在AI应用开发领域的实践创新。

2025-06-18 15:11:41 1251

原创 【安装指南】Redis 的多种安装方式汇总

本文介绍了在CentOS7环境下安装和配置Redis服务的多种方法。主要内容包括:1)本地安装Redis的详细步骤,涵盖SCL源安装、符号链接创建、解压安装包及服务启停;2)使用Docker部署Redis镜像的流程,包括镜像拉取和配置文件挂载;3)通过systemctl管理系统服务的操作方法;4)Redis核心配置详解,涉及访问密码设置、危险命令禁用、远程连接、持久化(RDB/AOF)及集群配置等关键参数。文章提供了两种安装方式的完整指导,并重点解析了生产环境中常用的安全配置和性能优化选项。

2025-06-18 09:30:00 2022

原创 【Redis】常见问题解决方案:缓存预热与冷启动

在 Spring Boot 启动之后,可以通过以下手段实现缓存预热:​1. 使用启动监听事件实现缓存预热。​2. 使用 @PostConstruct 注解实现缓存预热。​3. 使用 CommandLineRunner 或 ApplicationRunner 实现缓存预热。​4. 通过实现 InitializingBean 接口,并重写 afterPropertiesSet 方法实现缓存预热。

2025-06-18 09:00:00 1123

原创 【Redis】缓存三件套:缓存雪崩+缓存穿透+缓存击穿

也就是说缓存穿透是因为数据库查询无数据,出于容错考虑,不会将结果保存到缓存中,因此每次请求都会去查询数据库,这种情况就叫做缓存穿透。:对于某些热点缓存,我们可以设置永不过期,这样就能保证缓存的稳定性,但需要注意在数据更改之后,要及时更新此热点缓存,不然就会造成查询结果的误差。,导致大量的请求直接查询数据库,从而对数据库造成了巨大的压力,严重情况下可能会导致数据库宕机的情况叫做缓存雪崩。:在缓存即将过期之前,提前异步加载缓存,避免在缓存失效时大量请求直接打到数据库或者后端服务。

2025-06-17 16:30:09 1411

原创 【Redis】Redis 关于 BigKey 的实践规约

一个 String 类型的 Key,它的值为 5 MB。一个 ZSET 类型的 Key,它的成员数量为10,000个。一个Hash类型的Key,它的成员数量虽然只有1,000个但这些成员的Value(值)总大小为100 MB。单个key的value小于10KB对于集合类型的key,建议元素数量小于1000。

2025-06-17 16:01:24 916

原创 【Dify】基于 Agent 实现热门新闻生成助手

智能助手(Agent Assistant),利用大语言模型的推理能力,能够自主对复杂的人类任务进行目标规划、任务拆解、工具调用、过程迭代,并在没有人类干预的情况下完成任务。

2025-06-09 08:00:00 451

原创 【LangChain4J】LangChain4J 第五弹:基于 MCP 实现快递助手并调用上万种服务

MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由 Anthropic 推出的一种开放标准。旨在为大语言模型(LLM)提供统一的、标准化方式与外部数据源和工具之间进行通信。(Agent 需要调用外部工具和API、访问数据库、执行代码等)Agent 需要理解其他 Agent 的意图、协同完成任务、与用户进行自然的对话。

2025-06-08 13:57:50 1733

原创 【LangChain4J】LangChain4J 第四弹:RAG 的多种实现方式

定义:RAG(Retrieval-Augmented Generation,检索增强生成)是通过从外接数据源检索相关信息,并注入提示词,提升大语言模型(LLM)查询精准度的一种技术。通过这种实现方式,大语言模型可以获取到特定领域的相关信息,并能够利用这些信息进行回复,从而降低了发生幻觉的可能性。RAG 解决传统大模型局限性知识过时:传统大模型依赖预训练数据,无法获取最新信息。幻觉问题:传统模型可能生成不准确或虚假的信息。RAG 优势实时更新:允许模型访问最新信息,解决知识局限性问题。提高准确性。

2025-06-08 13:45:49 740 1

原创 【LangChain4J】LangChain4J 第三弹:多模态与文生图的实现

是多模态任务的一种具体形式,指通过文本描述生成对应图像的技术。其核心目标是将人类语言的抽象语义转化为视觉具象,广泛应用于创意设计、游戏开发、虚拟内容生成等领域。

2025-06-08 13:40:18 1125

原创 【LangChain4J】LangChain4J 第二弹:连续对话与数据持久化存储

LangChain4J 是 Java 生态中基于 LangChain 理念的框架,用于构建智能对话系统和 LLM 应用。在连续对话场景中,核心是维护对话上下文(Context),确保模型能基于历史交互生成连贯回答。

2025-06-06 16:35:54 1291

原创 【Redis】分布式锁的介绍与演进之路

在一个分布式的系统中, 也会涉及到多个节点访问同一个公共资源的情况. 此时就需要通过 锁 来做互斥控制, 避免出现类似于 "线程安全" 的问题。而 java 的 synchronized 或者 C++ 的 std::mutex, 这样的锁都是只能在当前进程中生效, 在分布式的这种多个进程多个主机的场景下就无能为力了。本质上就是使用一个公共的服务器, 来记录 加锁状态。这个公共的服务器可以是 Redis, 也可以是其他组件(比如 MySQL 或者 ZooKeeper 等), 还可以是我们自己写的一个服务。

2025-06-06 10:28:06 1402 4

原创 【Redis】Redis 的持久化策略

Linux中主进程实现对数据的读写操作都是操作物理内存,但是所有的主进程都无法直接操作物理内存,而是由操作系统给每个主进程分配一个虚拟内存,操作系统会维护一个虚拟内存与物理内存之间的映射关系表,这个表叫做页表(映射到物理内存的数据地址)。Redis 生成的 rdb 文件是存放在 Redis 的工作目录中的,也是在Redis配置文件中,进行设置的。当这个快照生成完毕之后,再删除之前的RDB文件,把新的生成的RBD文件名字改成刚才的dump.rdb,从而保证rdb文件的唯一性。

2025-06-06 10:17:02 1324

原创 【Redis】Redis 的常见客户端汇总

1. 自定义序列化器super();@Override@Override2. 配置序列化器@Bean// 使用StringRedisSerializer来序列化和反序列化redis的key值// Hash的key也采用StringRedisSerializer的序列化方式。

2025-06-05 18:44:51 1868

正确的settings.xml文件,Maven 国内源配置

正确的settings.xml文件(配置了国内源)

2025-05-06

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

TA关注的人

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