自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【2026】最新ip2region JAVA使用教程(全量代码)

本文介绍了离线IP定位库Ip2region的使用方法。首先从GitHub下载项目并获取IPv4/IPv6数据文件,然后通过Maven导入依赖包。配置类负责初始化Searcher并加载xdb数据文件,工具类提供IP查询和校验功能。测试案例验证了查询功能的有效性,成功返回IP归属地信息。该方案支持微秒级查询,适用于需要快速IP定位的应用场景。

2025-12-12 09:29:17 370

原创 踩坑实录:PageHelper 分页后筛选数据致总条数异常?原理 + 解决方案

摘要: 文章探讨了PageHelper分页工具与用户服务团队筛选结合时出现的总条数异常问题。当使用内存筛选后,PageInfo返回的总数可能错误地等于当前页条数,而非实际符合权限的总数。解决方案分两种场景:1)优先在SQL层实现团队筛选,确保PageHelper自动计算正确总数;2)若需内存筛选,需手动保留分页元数据并同步总数。核心在于避免将筛选后的普通List误当作Page对象,导致分页信息丢失。完整代码示例见个人博客。

2025-10-23 10:04:16 410

原创 Electron + Vue 3 + Vite 开发桌面应用的完整步骤

本文介绍了基于Vite+Vue+Electron的桌面应用开发方案选择指南和完整配置流程。文章首先对比了Vite和Webpack两种方案的选择场景:Vite方案适合Vue3中大型项目,追求现代开发体验和快速热更新;Webpack方案则更适合Vue2小型项目或依赖老旧插件的场景。随后详细介绍了从项目初始化、依赖安装到完整配置的步骤,包括Vite配置调整、主进程与渲染进程代码编写、项目结构调整等关键环节,并提供了主进程与渲染进程通信的示例代码。该方案相比传统Vue CLI方案具有更快的启动速度和更简洁的配置流程

2025-08-25 14:30:55 898 1

原创 【优化】从压缩效率、内存占用和传输方式的角度解决文件下载慢的问题

摘要 本文针对Java文件压缩下载性能问题,分析了原代码存在的IO效率低、内存占用大和传输方式冗余三大瓶颈。通过引入缓冲区批量读写(8KB)、流式处理和直接响应流输出等优化手段,将10MB文件的下载时间从30-40秒大幅缩短。优化后的代码采用try-with-resources自动管理资源,避免临时文件产生,内存占用稳定在8KB左右,并新增重复文件名处理和响应头优化。关键改进包括: 压缩效率:单字节读写改为缓冲区批量处理,IO操作减少99.99% 内存控制:流式处理避免数据落地,内存占用降低99% 传输优化

2025-08-12 14:02:59 669

原创 【BUG】IDEA与Maven的设置冲突

摘要:在IDEA中修改Maven的settings.xml后仍使用旧配置,主要原因是多配置文件优先级问题。MAVEN_HOME/conf下的settings.xml会覆盖其他配置,且.m2目录下的配置优先级更高。此外,缓存未清理、项目级配置覆盖或文件名不规范(必须为settings.xml)也会导致该问题。建议检查配置文件层级关系,确保正确命名并清理缓存后重新导入。(98字) 核心问题:Maven多配置文件的优先级冲突导致修改失效,需注意配置加载顺序和命名规范。

2025-07-22 18:04:05 499

原创 【Web前端】CSS实现玻璃效果

CSS毛玻璃效果的实现方法,包含核心样式定义、使用方式和效果调整技巧。通过CSS变量定义背景透明度、模糊强度和边框颜色,使用backdrop-filter属性实现毛玻璃效果。文章展示了基础类应用和@apply复用方法,并提供了调整模糊强度、背景透明度等参数的示例。还列举了侧边栏、弹窗等应用场景,最后给出完整的样式代码,包含设计变量、毛玻璃基础样式、侧边栏容器和图标容器样式,实现平滑过渡和悬停交互效果。

2025-06-11 15:35:36 727

原创 【Web前端】对图片进行剪切并添加水印

基于cropperjs实现的图片裁剪组件,主要功能包括:支持自定义宽高比(默认16:9)、带透明水印、响应式对话框控制和高品质图片输出(JPEG 90%质量)。使用步骤简单,通过组件引入、参数配置和结果处理即可完成图片裁剪。核心实现涉及Cropper初始化设置、水印添加流程和样式定制选项。注意事项包括确保正确引入cropperjs库、图片加载完成后再显示对话框,以及大尺寸图片建议先压缩等优化建议。该组件适用于需要前端图片处理的各类应用场景。

2025-06-10 14:22:29 371

原创 使用 WebFlux 和 LangChain4j 的架构

Java响应式AI服务的内存优化策略:1) JVM参数调优,推荐使用ZGC并设置合理内存限制;2)响应式编程控制背压与并发;3)LangChain4j专项优化模型加载和向量存储;4)依赖瘦身和缓存策略优化;5)配置内存监控;6)类加载和容器化优化。特别针对AI服务建议使用内存敏感注解。验证方法包括JConsole监控和性能分析工具。全文提供了从JVM到框架层次的具体配置示例,帮助开发者构建高效稳定的AI服务。

2025-06-06 11:21:40 370

原创 【SSE】实现AI大模型的流式对话

摘要 文章介绍了SSE(Server-Sent Events)技术及其在AI流式对话中的应用。SSE作为一种服务器推送技术,支持单向实时数据传输,适用于需要实时更新但不需要双向通信的场景。在流式对话中,AI大模型通过边生成边传输的方式,将回答拆分为逻辑单元实时发送,显著减少用户等待时间。前端实现包含两个核心部分:通过Marked.js和DOMPurify安全渲染Markdown格式的AI回复,以及构建具备自动重连机制(指数退避算法)和超时检测的SSE客户端连接。全技术栈实现展现了从服务器推送到前端展示的完整

2025-06-06 10:00:01 1110

原创 【BUG记录】SpringSecurity6.2以上 AuthenticationManager=null

在多模块Spring Security开发中,出现AuthenticationManager返回null问题的解决方法是:当使用SecurityConfigurerAdapter配置类时,必须在继承该适配器的子类中(如JwtAuthenticationSecurityConfig)显式设置AuthenticationManager,而非在WebSecurityConfig中配置。这是因为SecurityConfigurerAdapter的配置顺序会影响AuthenticationManager的可用性。示例

2025-06-04 14:51:24 475 1

原创 【Langchain4j】Function Calling 函数调用

本文介绍了如何为大语言模型集成工具类并调用RPC接口。主要内容包括:1)创建带有@Tool注解的数学工具类,支持加减法和平方根运算;2)配置工具类到AI服务中;3)通过Feign调用RPC接口实现文章搜索功能,使用@ToolMemoryId维护上下文;4)通过REST API暴露聊天接口。关键点:工具类需用@Component/@Service注入,多工具配置需指定wiringMode=EXPLICIT,建议为工具方法添加清晰描述以提升AI调用准确性。

2025-05-26 10:44:50 445

原创 基于LangChain4j的智能助手开发实践

本文介绍了基于LangChain4j开发智能助手的实践,采用分层架构设计,核心模块包括接口层、服务层、存储层和配置层。通过@AiService注解定义对话接口,使用MongoDB实现对话记忆的持久化存储,并通过@MemoryId实现多用户对话的上下文隔离。技术策略上,采用弹性扩展设计,支持快速查询和更新操作。最佳实践建议包括合理设置内存管理参数、增强可观测性、优化聊天接口等。该架构具备多用户隔离、历史对话管理、弹性扩展和异常自动恢复等能力,开发者可根据需求调整记忆窗口大小和存储策略。

2025-05-16 10:53:17 457

原创 调整JVM参数的方式

调整JVM参数的方式取决于你的运行环境。无论是命令行、IDE、应用服务器、Spring Boot、Docker还是Kubernetes,都可以通过配置相应的参数来优化JVM性能。注:改文章只整理了大多数运行环境调参方式。如果需要了解如何调参可参考(

2025-03-31 17:53:01 2257 1

原创 Java讯飞语音评测ISE使用demo工具

讯飞语音评测(Speech Evaluator)是一款基于智能语音技术的发音评价系统,能够自动对用户的发音水平进行评价,定位发音错误和缺陷,并进行问题分析。该系统支持汉语和英语两种语言的评测,涵盖单字(汉语专有)、词语、句子、篇章朗读等多种题型,广泛应用于语言教学、口语测试、语音康复训练等领域。

2024-12-30 15:58:34 1815

原创 Knife4j最新基本使用文档

Knife4j是一个为Java应用程序提供API文档生成和可视化的开源工具,基于Swagger和OpenAPI规范。它整合了Swagger UI、Swagger Editor、springdoc的功能,同时提供了更友好的API管理界面。

2024-12-28 19:22:07 1230 1

空空如也

空空如也

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

TA关注的人

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