- 博客(65)
- 收藏
- 关注
原创 Java中类加载器及双亲委派机制原理
类加载器是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术,由类加载器加载java中的类使其能够使用。Java虚拟机中有多个类加载器,双亲委派机制决定类由哪个加载器加载
2025-07-18 15:43:28
401
原创 【干货】免费内网穿透工具NetApp安装+使用教程
NetApp 是一种内网穿透工具,主要用于将本地网络服务暴露到公共互联网上,使得外部用户可以访问内网资源。其核心功能包括端口映射、隧道建立和流量转发,适用于远程办公、开发调试、家庭网络服务访问等场景。NetApp 能够绕过 NAT 和防火墙限制,通过中间服务器中转数据,实现内外网的无缝连接。支持多种协议如 HTTP、TCP、UDP,适用于 Web 服务、数据库、游戏服务器等多种应用。
2025-07-04 13:46:43
826
原创 【Spring AI】MCP Server实现多实例部署
在进行AI大型业务开发时,终将会遇到性能瓶颈,面临和常规微服务架构项目同样的问题,也就是访问压力,而解决这个问题的常见方法就是多实例部署服务。同样的,大模型在进行工具调用时也会遇到类似的问题,这篇文章我将介绍MCP Server如何实现多实例部署。
2025-06-13 17:00:28
345
原创 【Spring AI】一句话让AI自己在电脑上操作文件
我们经常使用AI解决日常生活中的问题,但是AI智能给出一些它自己的见解,并不能够实际的去进行操作。也就是你无法让大模型代替你去执行具体的去执行某个操作。本篇文章我将以MCP的方式结合Spring AI演示如何让大模型能够听从你的指令并执行前面的文章我已经讲解过如何搭建Spring AI工程和MCP Server。我这里就举一个简单的例子来演示其集体的过程,也就是 让大模型创建文件并写入内容
2025-06-07 14:26:34
416
原创 【JVM】三色标记法原理
在JVM中,三色标记法是GC过程中对象状态的判断依据,回收前给对象设置上不同的三种颜色,三色分为白色、灰色、黑色。根据颜色的不同,决定对象是否要被回收。
2025-06-05 14:44:46
574
原创 应用智能化转型—MCP原理分析
当下AI风头正盛,许多行业都已经进入AI赋能的道路,无论是服务业、工业、还是软件行业。本篇文章我将以软件的智能化转型之MCP原理分析为主题讲解其具体实现方案 在当下许多企业内部系统,或者是各种在线服务平台,他们拥有着庞大的用户量和复杂的业务,光是一些操作和业务都已经够头疼的了,而如果让其进行智能化转型,通过引入大模型帮助用户完成任务,那么会大大提高效率。
2025-06-03 11:31:20
721
原创 Java中的引用类型以及区别的特点
在java红有四种引用类型,分别是强引用、软引用、弱引用、虚引用。他们的主要区别是控制对象生命周期和垃圾回收的行为
2025-05-31 20:05:26
298
原创 【Spring AI】Spring AI 1.0.0-M7、M8更新至1.0.0版本兼容的所需修改要点
Spring AI更新的速度非常快,在一个月之前我还在用着最新的M7版本,中间经过M8、1.0.0RC1,现在马上就到了1.0.0正式版。正式版当然也新增了许多东西。 因为大多数人都在用M7和M8版本的Spring AI,本篇文章我就介绍一下M7、M8版本向1.0.0版本做兼容时主要需要修改的点
2025-05-27 17:43:34
1201
1
原创 通过上传使大模型读取并分析文件实战
我们日常在使用AI的时候一定都上传过文件,AI会根据用户上传的文件内容结合用户的请求进行分析,给出用户解答。但是这是怎么实现的呢?在我们开发自己的大模型应用时肯定是不可避免的要思考这个问题,今天我会将从文件上传开始到大模型给出分析的整个流程进行讲解
2025-05-23 16:56:31
1641
原创 【Spring AI】本地大模型接入MCP实现联网搜索
本地大模型的知识库都是在训练时获取的信息,所以实时性较差,又因为大模型本身并不具备联网查询的功能,所以在使用时无法获得实时性较强的内容,导致功能局限性较强。本篇我将介绍如何让本地部署的大模型能够借助互联网来获取实时性的信息。
2025-05-16 15:26:39
2340
1
原创 【Spring AI】模型记忆持久化 + 自动加载记忆上下文
当我们利用大模型进行开发时,有时会因为项目重启而丢失模型的记忆,会给开发的过程带来不方便我们在配置ChatClient时,由于想要实现模型的记忆,便需要管理会话信息,而Spring AI给我们提供了Advisors的自动管理机制,其有两种实现方式,即内存记忆和缓存记忆,但是其根源都是建立在缓存中,主机重启都会数据丢失。
2025-05-12 08:00:00
863
原创 Java零组件实现配置热更新
在实现配置热更新和软件即插即用的需求时,避免引入复杂插件是关键。本文提出了一种替代Nacos等配置中心的方法,通过创建本地配置文件实现配置刷新。Springboot默认的配置文件加载优先级为外部启动命令>配置文件>本地配置文件,而Nacos通过bootstrap实现外部配置文件预加载。本文方法通过创建外部配置文件实现类似效果。具体实现中,当用户选择不同服务时,系统读取并修改外部配置文件,然后执行刷新操作,系统将优先读取外部配置文件信息。代码示例展示了如何通过独立线程池执行配置刷新
2025-05-10 21:31:19
631
原创 【Spring AI】带你从零搭建一个本地大模型可视化对话应用,告别联网!(已开源)
我们在将大模型部署到本地后,是否会因为命令行界面而感到不方便呢?我今天将带领大家使用Spring AI搭建一个轻量级的可视化对话应用,我将在文章中展示大部分核心代码。从此大家只需要拉取模型,或者将训练后的模型导入到ollama,直接使用该应用即可实现本地模型的调用,从此告别排队! 项目名称Local_Helper,目前初测已经通过,并开源到了gitee,大家可以直接进行拉取;项目仍会继续维护,部分功能还在开发中,欢迎大家给出改进建议!
2025-05-04 18:13:43
1121
1
原创 Elastic Search 的安装、使用方式
elasticsearch是一款非常强大的开源搜索引擎,支持的功能非常多。数据库模糊查询随着表数据量的增多,查询性能的下降会非常明显,而搜索引擎的性能则不会随着数据增多而下降太多。目前仅10万不到的数据量差距就如此明显,如果数据量达到百万、千万、甚至上亿级别,这个性能差距会非常夸张。数据库的模糊搜索功能单一,匹配条件非常苛刻,必须恰好包含用户搜索的关键字。而在搜索引擎中,用户输入出现个别错字,或者用拼音搜索、同义词搜索都能正确匹配到数据。
2025-05-01 16:16:20
965
原创 【Spring AI】Java结合ollama实现大模型调用
在较新的Java版本中,编译器已经支持了接入各种AI模型工具进行开发,这篇文章我会介绍如何利用Spring AI进行大模型的调用的基础方法
2025-04-30 11:56:46
2018
原创 LLaMA-Factory微调后模型导入ollama
在上一篇文章我讲了如何利用LLaMA-Factory微调大模型,这一篇我会简单的讲一下如何将训练完成后的模型导出并加载到ollama供自己调用
2025-04-30 11:10:04
578
原创 LLaMA-Factory部署以及大模型的训练(细节+新手向)
LLaMa-Factory支持市面上各种各样的开源大模型,并且内置多种微调方式,比如lora、full、freeze,丰富的微调参数可供调整。提供了简洁的UI界面,并且支持验证、简单对话等功能
2025-04-28 14:35:15
1769
原创 Java结合Rabbit MQ实现消息异步处理
在业务的执行链中通常会有一些业务与当前业务链的执行不是强绑定关系,比如,用户购买一个商品,大致包含创建订单->库存预扣减->进行支付->修改订单状态->清空购物车->发送下单成功的短信这一系列流程。其中前面的各个操作都是需要同步执行的,而发送短信并不需要强一致性,允许出现时间误差,并且发不发送短信都不影响结果。所以为了加快程序的执行效率,可以将短信的执行采用消息队列进行异步处理。
2025-04-27 15:37:49
1127
原创 Long类型封装Json传输时精度丢失问题
在信息做传输时,经常会使用到类型转换,这个时候因为一些问题会导致精度的丢失。在支付业务中这种问题更为致命。
2025-04-24 10:32:34
744
原创 实现支付宝沙箱环境搭建
在业务开发的过程中,有时会涉及到一些支付相关的功能,这个时候就需要接入第三方支付接口,而由于开发中需要不断进行测试,使用真实的账号进行支付就有些不值得,所以支付宝为我们提供了第三方SDK,供我们在虚拟的环境中实现支付功能测试。 第三方支付接口流程大同小异,与真实支付的流程完全一致。沙箱环境是支付宝开放平台为开发者提供的与生产环境完全隔离的联调测试环境,开发者在沙箱环境中完成的接口调用不会对生产环境中的数据造成任何影响。并且其具有天然的方便性,沙箱环境与正式环境的域名仅仅相差一个dev,
2025-04-23 17:02:17
1583
原创 ollama部署大模型以及连续分片调用的实现
经过近百次的尝试,我发现通过代码直接部署大模型的不稳定性以及操作、技术上的难度远远超过了其本身的价值,尤其是对于初学者以及硬件能力较弱的机器。而采用ollama直接一键部署大模型则显得更加有优势,其在模型的控制上更稳定,模型库包含了大量不同大小的模型的不同量化版本,一键部署更加方便。 上一篇文章我介绍了通过Python环境直接使用代码部署大模型的示例,本篇我将借助ollama完成同样的功能演示。
2025-04-22 15:56:14
967
原创 基于RBAC结合Spring Security 实现用户授权
在业务场景中,我们不希望所有的功能可以随意地被使用,所以通常会将不同的功能让不同的用户由权限去使用,称为权限控制,我将介绍一种强大、易控制、耦合性低的方法去实现这个需求,即结合Spring Security的RBAC权限控制。
2025-04-17 10:58:49
812
原创 Python部署大模型以及连续调用功能实现(性能优化+输出控制)
当我们想要部署一个自己的本地ai助手时,如果不想通过一些工具。比如ollama进行协助,而是想要实现更灵活、对性能更可控的方式时,你可以采取直接使用python环境通过代码运行模型文件,以下我将演示如何实现这一功能
2025-04-16 08:00:00
1371
原创 Method has too many Body parameters:错误解决方法
FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Method has too many body parameters
2025-04-15 11:08:39
1006
原创 【数据结构】红黑树超详解 ---一篇通关红黑树原理(含源码解析+动态构建红黑树)
【数据结构】红黑树超详解 ---一篇通关红黑树底层原理(含源码解析+动态构建红黑树)
2025-04-11 12:39:48
3247
3
原创 模板引擎Freemarker使用教程
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
2025-04-08 17:55:44
2539
原创 使用OpenFeign实现服务远程调用
在微服务架构中,由于业务功能的分工不同,我们把项目拆分为多个独立的服务,并常常将其部署在不同的服务器上,这个时候如果服务A的某个功能需要借助服务B来实现,那么这个时候如何去调用就成了问题,目前有一种常用的服务调用方OpenFeign,用其可以实现服务之间的调用。
2025-04-05 17:18:55
866
原创 分布式事务的原理及解决方案
是指在一系列数据库操作当中,存在需要通过网络对远程的数据库进行数据操作的行为。在多个业务场景下都可能呢会出现分布式事务问题,比如“微服务架构”、“多服务单数据库”、“单服务多数据库”,只要是存在远程调用都存在分布式事务问题。
2025-04-03 11:15:00
1079
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人