- 博客(110)
- 收藏
- 关注
原创 架构设计之慢SQL监控
慢SQL指查询执行时间超出合理阈值(如数百毫秒以上)的语句,常因索引缺失、复杂联表、全表扫描或数据量激增导致。其直接影响包括响应延迟飙升、吞吐量骤降、系统资源(CPU/IO)耗尽,甚至引发服务雪崩。
2025-05-29 14:56:24
541
原创 AI赋能Java程序员:开启高效编程新时代,解锁高薪职场新机遇!
在数字化浪潮席卷全球的今天,AI技术正以前所未有的速度重塑着软件开发领域。对于Java程序员而言,掌握AI技术不仅是顺应时代趋势的选择,更是提升个人竞争力、优化工作流程、突破职业瓶颈的关键。那么,AI究竟能为Java程序员带来哪些实实在在的好处?今天,我们就来深入探讨这个话题!
2025-05-21 14:34:49
417
原创 7、MinIO服务器简介与安装
MinIO服务器是一款高性能、开源的对象存储服务器,专为海量数据存储、人工智能、大数据分析等场景而设计,等价于阿里云的OSS存储服务器。云存储解决方案:MinIO可以作为一种可靠的云存储解决方案,部署在本地服务器或云端环境中,提供安全、高效的数据存储服务。大数据存储平台:MinIO可以作为大数据存储平台的一部分,用于存储和管理大规模的数据集。它的高性能特点能够满足大数据分析和处理对存储系统的要求。数据备份和恢复:用户可以将重要数据备份到MinIO存储中,以防止数据丢失。
2025-05-15 13:31:28
1125
原创 6、登录功能后端开发
https://xiaoxueblog.com/ai/%E7%99%BB%E5%BD%95%E5%8A%9F%E8%83%BD%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91.html
2025-05-15 13:30:43
783
原创 5、前端登录页面集成
https://xiaoxueblog.com/ai/%E5%89%8D%E7%AB%AF%E7%99%BB%E5%BD%95%E9%A1%B5%E9%9D%A2%E9%9B%86%E6%88%90.htmllayui-button页面:https://layui.dev/docs/2/button/#theme 2、新建登录页面login.htmllayui-表单组件:https://layui.dev/docs/2/form/#login3、index页面点击【未登录】按钮弹出login.htm
2025-05-15 13:30:11
977
原创 4、前后端联调文生文、文生图事件
原文地址完整index.html2、OpenAIController3、调通后端AI后前台进行显示和页面细节调整4、openai生成图片https://docs.spring.io/spring-ai/reference/api/image/openai-image.html
2025-05-15 13:28:54
896
原创 JAVA开发必会之@JsonFormat转换
@JsonFormat是 Jackson 框架中用于精准控制数据序列化与反序列化时输出格式的注解,广泛应用于日期、时间、数值等类型的格式转换。它通过声明式配置将 Java 对象属性映射为符合业务需求的 JSON 结构
2025-05-07 11:30:05
994
原创 3、整合前端基础交互页面
小薛博客AI大模型资料官网:https://layui.dev/下载:https://gitee.com/layui/layui/attach_files/2054722/download框架布局:https://layui.dev/docs/2/layout/2、layui常用3、修改基本盘页面 大体view4、提问输入框+按钮5、左侧【话题讨论】变动页面演示1、头部区域,推荐和最新2、话题讨论添加js点击事件隐藏6、完善对话(文生文)和绘图(文生图)标签页1、头部区域,文
2025-04-18 09:14:07
927
原创 2、SpringAI接入ChatGPT与微服务整合
Spring AI是一个人工智能工程的应用框架。其目标是将Spring生态系统的设计原则(如可移植性和模块化设计)应用于人工智能领域,并推动将POJO作为应用程序的构建块应用于AI领域。SpringAI是一个基于人工智能技术的工具或平台,通常用于构建、优化和部署AI模型。简化AI开发:提供易用的接口和框架,加速AI模型的创建与训练。可移植的API支持跨人工智能提供商的聊天,文本到图像,和嵌入模型。
2025-04-18 09:12:48
1220
原创 1、AI大模型理论入门
ChatGPT:一个预训练的对话式文本生成AI。Chat包括输入端即发出有效提问(Prompt)和输出端的智能参考答案。G:Generative,可以生成符合语法和语义规则的自然语言文本P:Pre-trained,基于大规模文本数据的预训练,使它更聪明T:使用Transformer架构来有序处理文本。
2025-04-18 09:11:41
636
原创 BigDecimal的使用与工具类
创建一个具有参数所指定整数值的对象创建一个具有参数所指定双精度值的对象创建一个具有参数所指定长整数值的对象创建一个具有参数所指定以字符串表示的数值的对象。
2025-04-14 16:52:10
589
原创 SimpleDateFormat线程安全问题
在解决解决SimpleDateFormat类的线程安全问题的几种方案中,局部变量法由于线程每次执行格式化时间时,都会创建SimpleDateFormat类的对象,这会导致创建大量的SimpleDateFormat对象,浪费运行空间和消耗服务器的性能,因为JVM创建和销毁对象是要耗费性能的。所以,不推荐在高并发要求的生产环境使用。synchronized锁方式和Lock锁方式在处理问题的本质上是一致的,通过加锁的方式,使同一时刻只能有一个线程执行格式化日期和时间的操作。
2025-04-14 16:32:39
772
原创 Knife4j和Swagger3注解使用与SpringBoot各种参数校验
***/@Slf4j/*** 集中处理参数丢失、缺少参数、参数为空 情况异常* @return*/// 逗号拼接return Result.error("操作失败," + e.getMessage());/***/@Override@Override/***/// 默认错误消息String message() default "必须为指定值";// 分组Class<?// 负载。
2025-04-14 16:13:24
1192
原创 架构设计之Redisson分布式锁-可重入同步锁(一)
若redis集群环境下,不能因为某一个节点挂了而出现获取锁和释放锁失败的情况。等高级数据结构和功能,极大地简化了 Java 应用在分布式环境中的开发。防止张冠李戴,不能私下unlock别人的锁,只能自己加锁自己释放。杜绝死锁,必须有超时控制机制或者撤销操作,有个兜底终止跳出方案。同一个节点的同一个线程如果获得锁之后,它也可以再次获取这个锁。OnlyOne,任何时刻只能有且仅有一个线程持有。,如果应用崩溃或异常,可能导致锁长时间无法释放。,如果超过一定时间仍未释放,则可以。,防止多个线程重复处理同一个任务。
2025-04-10 22:28:08
1039
原创 PageHelper分页扩展排序
博客官网:每一次的积累,每一次的学习,每一次在个人项目中对难点的突破,都是我们在这片海洋中留下的印记。这些印记见证了我们的成长,也激励着我们不断前进。
2025-04-02 14:26:21
391
原创 PageHelper分页原理源码跟踪
首先会把分页参数封装成Page对象放到中然后根据SQL进行拼接转换(select * from table where a) -> (select count(“0”) from table where a)和(select * from table where a limit?有了total总条数、pageNum当前第几页、pageSize每页大小和当前页的数据,就可以算出分页的其他非必要信息(是否为首页,是否为尾页,总页数)我们可以看到总共只有4页,我们访问第5。
2025-04-02 14:25:02
763
原创 PageHelper分页升级版-兼容MybatisPlus
让我们带着这份对技术的热爱与执着,继续前行吧。在探索的道路上,我们或许会疲惫,或许会迷失方向,但只要心中的信念之火不熄,我们定能穿越风雨,迎接那属于自己的技术之光。
2025-04-02 14:22:19
257
原创 轻量级的、基于文本的实时通信机制Server-Sent Events (SSE)
Server-Sent Events (SSE)是一种基于 HTTP 协议的标准,它允许服务器通过单向连接向浏览器发送实时更新。与 WebSocket 不同,SSE 仅允许服务器向客户端推送数据,而客户端不能通过同一连接发送数据给服务器。SSE 是一种轻量级的、基于文本的实时通信机制,适用于需要向客户端发送实时信息的场景,比如新闻推送、股票实时数据、天气预报等。
2025-04-01 14:29:45
308
原创 架构设计之自定义延迟双删缓存注解(上)
经常修改的数据表不适合使用Redis,因为双删策略执行的结果是把Redis中保存的那条数据删除了,以后的查询短时间内就都会去查询数据库,导致mysql侧压力瞬间增大,所以Redis使用的是读远远大于改的数据缓存。
2025-03-21 08:58:14
958
原创 Stream流与Guava工具类使用
流(Stream) 到底是什么呢?是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。集合讲的是数据流讲的是计算!注意Stream 自己不会存储元素。Stream不会改变源对象。相反,他们会返回一个持有结果的新Stream。Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。Stream 操作可以通过方法链式调用的方式构建操作序列。在这个序列中,每个中间操作都会返回一个新的 Stream 对象,但实际的操作并没有立即发生。只有在终端操作(如forEach。
2025-03-18 10:15:25
394
原创 Git常用操作之GitLab
移动到目标提交,并且会重置暂存区和工作区,即丢弃所有未提交的更改。这个命令会将未提交的更改保存为一个栈中的堆栈帧(stash),并将你的工作目录和暂存区恢复到干净的状态。这将移动你的 HEAD 和当前分支指针到指定版本,并将工作目录和暂存区都恢复到目标版本的状态。是一种更安全的方式,因为它不会修改历史记录,而是创建一个新的提交来撤销之前的提交。这些模式控制了命令的行为,特别是在重置提交时涉及到的暂存区和工作区的处理。是一个特殊的指针,它指向当前所在的本地分支的最新提交(最新的提交记录)。
2025-03-14 16:43:44
1543
原创 十、MyBatis的缓存
一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就 会从缓存中直接获取,不会从数据库重新访问。
2023-06-08 09:58:43
1294
原创 九、动态SQL
Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点问题。if标签可通过test属性的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;反之标签中 的内容不会执行2、where仔细观察会发现,这两种方式的区别在于第一if条件中的SQL语句是否有。这里就涉及到标签的两个特性:所以说,上面的两种写法都是可以了,Mybatis的标签会替我们做一些事情。但需要注意的是:标签只会 智能的去除(忽略)首个满足条件语句的前
2023-06-08 09:56:32
962
原创 五、MyBatis获取参数值的两种方式(重点)
{}的本质就是字符串拼接,#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引 号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号。
2023-06-08 09:54:12
1467
原创 一、MyBatis简介
MyBatis最初是Apache的一个开源项目, 2010年6月这个项目由Apache Software Foundation迁 移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于 2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架 包括SQL Maps和Data Access Objects(DAO)。
2023-06-08 09:53:02
1508
原创 十、Java 17 新特性
JDK 17 在 2021 年 9 月 14 号正式发布了!根据发布的规划,这次发布的 JDK 17 是一个长期维护的版本(LTS)。Java 17 提供了数千个、和更新,以及(JDK 增强提案),进一步改进了 Java 语言和平台,以帮助开发人员提高工作效率。JDK 17 包括新的语言增强、库更新、对新 Apple (Mx CPU)计算机的支持、旧功能的删除和弃用,并努力确保今天编写的 Java 代码在未来的 JDK 版本中继续工作而不会发生变化。
2022-12-29 10:37:08
4760
原创 九、Java 16 新特性
JDK 16 在 2021 年 3 月 16 号发布!根据发布的规划,这次发布的 JDK 17 是一个长期维护的版本(LTS)。Java 16 提供了数千个、和更新,以及(JDK 增强提案),进一步改进了 Java 语言和平台,以帮助开发人员提高工作效率。
2022-12-29 09:02:06
1235
原创 八、Java 15 新特性
Text Blocks首次是在JDK 13中以预览功能出现的,然后在JDK 14中又预览了一次,终于在JDK 15中被确定下来,可放心使用了。运行程序,输出(可以看到展示为一行了):3、新功能和库的更新1、JEP 339: Edwards-Curve 数字签名算法 (EdDSA)与 JDK 中的现有签名方案相比,EdDSA 具有更高的安全性和性能,因此备受关注。它已经在OpenSSL和BoringSSL等加密库中得到支持,在区块链领域用的比较多。EdDSA是一种现代的椭圆曲线方案,具有JDK中现有
2022-12-27 09:26:02
1240
原创 七、Java 14 新特性
在这一版中,主要带来了 ZGC 增强、instanceof 增强、Switch 表达式更新为标准版等方面的改动、增强和新功能。本文主要介绍 Java 14 中的主要新特性,带您快速了解 Java 14 带来了哪些不一样的体验和便利。
2022-12-27 09:24:27
643
原创 六、Java 13 新特性
在 Java 10 中,为了改善应用启动时间和内存空间占用,通过使用 APP CDS,加大了 CDS 的使用范围,允许自定义的类加载器也可以加载自定义类给多个 JVM 共享使用,具体介绍可以参考 Java 10 新特性介绍一文详细介绍,在此就不再继续展开。Java 13 中对 Java 10 中引入的 应用程序类数据共享进行了进一步的简化、改进和扩展,即:允许在 Java 应用程序执行结束时动态进行类归档,具体能够被归档的类包括:所有已被加载,但不属于默认基层 CDS 的应用程序类和引用类库中的类。通过这种
2022-12-27 09:22:35
909
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人