自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 RAG系统学习之——基于LangChain+Milvus+Ollama+Streamlit搭建本地RAG系统

本文介绍了如何搭建一个完全本地化的RAG(检索增强生成)系统,结合LangChain、Milvus、Ollama和Streamlit等技术。系统具备文档处理、向量存储、本地大语言模型和友好交互界面,支持多种文件格式,确保数据隐私。文章详细说明了环境配置、核心代码实现、高级功能扩展和部署方案,提供了从开发到生产的一站式解决方案,适用于企业知识库、智能客服等场景,兼顾安全性和可扩展性。

2025-11-18 10:47:42 537

原创 RAG系统学习之——RAG技术详解与实战指南

本文全面介绍了RAG(检索增强生成)技术的背景、定义、优缺点及实战应用。RAG通过结合外部知识检索和大模型生成能力,有效解决了大语言模型的知识局限性和幻觉问题,成为企业知识管理的热门方案。文章详细阐述了RAG的技术架构、演进历程及适用场景,并提供了一个本地RAG系统的实战项目。RAG技术具有知识更新快、成本低、可解释性强等优势,但也面临检索质量依赖、文档处理复杂等挑战,特别适合企业知识库、专业咨询等场景。随着技术发展,RAG正在向模块化、图谱化等更高级形态演进。

2025-11-14 19:16:25 685

原创 Java中的Thread、ThreadLocalMap、ThreadLocal三者之间的关系,ThreadLocalMap.Entry的弱引用设计

ThreadLocal通过ThreadLocalMap实现线程隔离存储,每个线程持有独立的ThreadLocalMap,通过ThreadLocal的set/get方法存取数据。弱引用设计允许ThreadLocal实例被GC回收,但需配合remove()清理残留值,尤其在线程池场景中。相比同步锁,ThreadLocal以空间换时间实现无锁线程安全,适用于数据库连接、会话管理等场景。最佳实践包括及时清理和避免存储大对象,平衡线程安全与内存管理

2025-11-03 19:38:28 705

原创 SpringBoot web项目中使用@ExceptionHandler处理全局异常?或是使用HandlerExceptionResolver?哪种更合适

SpringBoot项目中处理全局异常时,@ExceptionHandler+@ControllerAdvice更适合RESTful API场景,配置简单且与SpringMVC深度集成;HandlerExceptionResolver适用于全局拦截和复杂处理逻辑,但配置复杂。最佳实践是混合使用,优先采用@ControllerAdvice处理Controller层异常,再通过HandlerExceptionResolver捕获未处理的全局异常。建议大多数项目优先选择@ExceptionHandler方式

2025-10-29 19:08:51 846

原创 <? extends T>是什么,<? super T>又是什么,PECS是指什么

Java泛型通配符<? extends T>和<? super T>分别用于生产者(只读)和消费者(只写)场景。<? extends T>表示元素类型为T或其子类,确保安全读取但禁止写入;<? super T>表示元素类型为T或其父类,允许安全写入但读取时类型信息丢失。PECS法则(Producer Extends, Consumer Super)指导这两种通配符的应用,如集合拷贝和栈操作,通过编译期类型检查保证安全性,避免运行时类型错误。

2025-10-27 14:43:24 618

原创 Spring生态HTTP客户端技术演进:RestTemplate、RestClient与WebClient深度解析

Spring框架的HTTP客户端经历了三代技术演进:RestTemplate(同步阻塞)、WebClient(异步非阻塞)和RestClient(过渡方案)。RestTemplate适合低并发场景但存在线程资源消耗问题;WebClient基于响应式编程,在高并发下性能优异;RestClient则在保持兼容性的同时提供异步能力。测试显示WebClient吞吐量达12,000req/s,远优于RestTemplate的2,800req/s。建议传统系统采用渐进式迁移策略,新项目首选WebClient。

2025-10-17 11:19:06 1006

原创 从MyBatis3.4.5中的PropertyNamer看属性名称定义

文章分析了MyBatis中PropertyNamer类对属性命名的处理机制,指出当使用Lombok自动生成getter/setter方法时,若属性名第二个字母大写(如uType),会导致MyBatis无法正确映射字段。原因在于PropertyNamer.methodToProperty()方法会保留第二个字母大写状态,而Lombok生成的getUType()方法与之不匹配。解决方案包括:1)修改属性名前两个字母为小写;2)手动生成符合MyBatis命名规范的getter/setter方法

2025-10-10 12:14:59 543

原创 详解web.xml中的listener与filter

本文系统介绍了Java Web中Listener和Filter两大核心组件。Listener用于监听Servlet容器事件(如应用启动/关闭、Session创建销毁),通过事件驱动模型实现回调;Filter采用责任链模式拦截请求/响应,实现权限控制、日志记录等功能。文章详细对比了两者的配置方式(web.xml/注解)、执行顺序、典型应用场景及注意事项,强调Listener适合全局资源管理,Filter侧重请求处理拦截,并指出在微服务架构中部分功能可迁移至网关层。最后总结了实现规范、线程安全和性能优化等最佳实

2025-06-18 17:12:16 920

原创 算法学习之——LRU最近最少使用

LRU缓存淘汰算法通过双向链表维护访问顺序,哈希表提供快速查找,实现O(1)时间复杂度的关键操作。当缓存满时,算法自动淘汰链表尾部最久未使用的数据,保持高效缓存管理。

2025-06-06 16:37:51 926

原创 发现一个挺好的项目,可以在springboot项目中快速接入DeepSeek API,有需要的可以尝试一下

Spring AI接入DeepSeek AI,SpringBoot2.x版本接入DeepSeek4J,调用DeepSeek API尝鲜AIGC

2025-02-18 20:11:08 784

原创 DeepSeek学习笔记之——DeepSeek-R1论文(英中对照)

DeepSeek-R1,论文学习,论文中英对照阅读学习

2025-02-12 17:18:24 464

原创 DeepSeek学习笔记:Java开发者视角的技术探索

DeepSeek作为国产AI工具,在代码生成、技术文档处理等方面展现出强大潜力。作为开发人员,可以结合自身项目需求,探索模型调优和私有化部署方案~

2025-02-11 16:51:47 1710

原创 DeepSeek学习笔记之——初识DeepSeek

DeepSeek是什么,DeepSeek-R1-Zero,DeepSeek-R1大模型,MoE(Mixture-of Experts),RL(Reinforcement Learning),KD(Knowledge Distillation)学习记录

2025-02-11 14:49:21 1670

原创 使用javaagent实现springboot工程中密码相关配置的统一化配置,避免密钥泄漏

项目中一般都会将密码等信息写在配置文件中,或者写在pom中,但是这种方式容易造成密码泄漏。本文主要是通过javaagent的方式,在项目启动时通过与密钥管理系统ssm交互实现了密钥数据的统一配置管理,从而避免了密钥泄漏的问题。

2025-01-20 17:01:28 1136

原创 聊一聊java中的main方法、premain方法、Instrumentation接口

java中的premain方法是做什么的,它和main有什么区别或联系,Instrumentaion API又是什么,和-javaagent有什么关系,如何在jvm启动应用程序之前插入自定义代码

2025-01-17 20:42:15 1351

原创 Redis学习笔记之——数据类型篇(一)

redis学习笔记,数据结构,5种基本数据类型:string,list,set,zset,hash,3种特殊类型:bitmap,HyperLoglog,Geo。概念、应用场景、实现原理、常用操作命令等

2024-12-27 19:26:19 757

原创 一个简单的Springboot+MybatisPlus+PageHelper+Thymeleaf小例子

springboot+mybatis-plus+pagehelper分页插件+thymeleaf的一个小例子,知道他们是什么,集成方式,以及pagehelper分页的实现原理

2024-12-26 15:51:12 879

原创 记我的Springboot2.6.4从集成swagger到springdoc的坎坷路~

在springboot2.6.4中集成swagger报错,项目无法正常启动,通过各种方法解决,但最后还是选择了springdoc~

2024-12-25 17:42:10 1328

原创 Redis学习笔记之——学习计划

redis,作为最常使用的一个nosql数据库,有必要对它进行一个系统的学习。这里我制定了一个学习计划,接下来将开启的redis学习之旅

2024-12-13 18:23:56 779

原创 设计模式学习之——代理模式

设计模式学习,代理模式,代理模式与装饰者模式的区别与联系,代理模式在spring框架中的应用等

2024-12-12 17:25:15 1053

原创 设计模式学习之——装饰者模式

设计模式学习,装饰者模式/装饰器模式,不改变结构,动态增加行为。

2024-12-12 11:27:59 1017

原创 设计模式学习之——适配器模式

设计模式学习,适配器模式、变压器模式,工作原理、适用场景、优缺点、代码示例等

2024-12-11 14:46:01 1136

原创 设计模式学习之——工厂模式

设计模式学习,简单工厂模式、工厂方法模式、抽象工厂模式,工厂模式在spring框架中的应用,spring框架中的BeanFactory和FactoryBean

2024-12-10 14:52:31 1652

原创 设计模式学习之——单例模式

设计模式学习,单例模式,最常见的设计模式之了。懒汉式、饿汉式、静态内部类、双重检测锁、枚举等。单例模式的应用场景、注意事项。面试中经常问到的关于单例模式的问题有哪些

2024-12-09 11:18:17 1485

原创 设计模式学习之——常见设计模式总览

设计模式学习,三大类型:创建型、结构型、行为型。先对常见设计有个整体的概念,再一一拆解学习

2024-12-09 10:48:21 986

原创 Springboot项目集成Mybatis-Plus,多数据源配置,写主读从

springboot项目集成mybatis-plus,mybatis-plus多数据源,读写分离,写主读从,mybatis-plus中执行自定义sql

2024-11-29 17:25:49 1586

原创 设计模式学习之——观察者模式

设计模式学习-观察者模式,观察者模式的定义、实现原理、优缺点,应用场景,代码示例,以及观察者模式与发布订阅模式之前的区别与联系

2024-11-29 11:38:02 1094

原创 设计模式学习之——模板方法模式

设计模式学习之——模板方法模式,行为型设计模式,算法骨架固定,但实现步骤可以延迟在子类中实现

2024-11-28 18:46:15 1293

原创 设计模式学习之——策略模式

设计模式学习,策略模式,策略模式常见应用场景,java代码示例

2024-11-28 11:51:43 1771

原创 责任链模式在spring security过滤器链中的应用

责任链模式在spring security过滤器链中的应用,自定义过滤器的实现

2024-11-26 18:05:41 1380 2

原创 设计模式学习之——责任链模式

设计模式学习,责任链设计模式,责任链设计模式使用场景、优缺点,代码示例

2024-11-26 15:54:57 1789

原创 浅聊java中的枚举以及关于枚举的常见面试问题

枚举是通过关键字enum来定义的。枚举的每一个实例都是该枚举类型的一个对象,这些对象在编译时就已经被创建,并且不能被实例化。枚举类默认继承自类,但不能显式继承其他类也不能被继承,因为当枚举被编译为类时会被final修饰,但它可以实现接口)。

2024-08-28 17:38:52 1372 1

原创 Comfyui简直就是低配置机器的福音,1080显卡上也能轻松玩转

本文对比了StableDiffusionWebUI和ComfyUI两种AI图像生成工具。StableDiffusionWebUI界面简洁易用,适合新手快速生成基础图像;而ComfyUI功能更强大,提供高级参数调整和实时预览,更适合专业用户深度定制。两者都基于扩散模型技术,通过逐步去噪生成高质量图像,但ComfyUI对硬件要求更低。文章还解释了扩散模型的工作原理和训练过程。建议初学者选择WebUI入门,有经验者使用ComfyUI进行更复杂的创作。

2024-07-16 11:36:05 2957

原创 MapStruct与BeanUtils处理对象属性复制场景对比

使用MapStruct进行类型转换或对象间属性复制,与BeanUtils.copyProperties进行简单对比

2024-05-28 19:13:33 1284

原创 算法学习之:Raft-分布式一致性/共识算法

Raft算法,分布式一致性算法,共识算法

2024-05-23 18:36:51 1444 1

原创 JDK8:用java.nio.file.Files.lines方法读取大型文件

使用jdk8中java.nio.file.Files.lines方法读取大型文件内容

2024-05-23 17:54:58 1533

原创 关于Broken pipe异常的一点学习记录

Broken pipe是什么,什么情况下会出现Broken pipe错误,应该如何规避或处理这类问题

2024-05-22 15:12:37 6027

原创 JSON5是什么?它和JSON有什么区别?

什么是json5,它和json有什么区别,主要用在哪些场景?

2024-04-16 10:50:05 6842

原创 聊一聊java中的ThreadLocal

java中的ThreadLocal是什么,它的实现原理,使用场景,以及需要注意的地方有哪些

2024-04-12 19:22:07 678

原创 聊一聊java中的SortedMap,TreeMap,以及SortedSet和TreeSet

聊一聊java框架中的SortedMap,TreeMap,SortedSet和TreeSet

2024-04-10 17:32:24 1532

空空如也

空空如也

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

TA关注的人

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