Spring AI 1.1.3 正式发布,19 个新特性太顶了!
大家好,我是R哥。 Spring AI 1.1.3 正式发布了。。 除了 Spring AI 1.1.3,2.0.0 也来到了 M3 版本了,相信再过一阵子就要正式 GA 了,1.0.4 也发布了,大家可以根据自己的需要选择合适的版本。 说说主线版本 Spring AI 1.1.3 吧,这次一共带来 ...
Docker容器化Spring Boot:从构建到部署的完整实战
前言 容器化部署已经成为现代Java应用的标准配置。本文用完整的实战案例,带你从零构建Spring Boot应用的Docker镜像,并实现生产级部署。 一、环境准备 Docker Desktop (Windows/Mac) 或 Docker Engine (Linux) Spring Boot 3. ...
算法~时间戳计算两个日期是否为同天同时同分
UTC时间戳验证两个日期是否为同一天的核心原理在于:时间戳是绝对的时间点,而“天”是依赖于特定时区(如UTC)的人为划分区间。通过将两个绝对时间点转换到同一时区后,比较它们的年、月、日是否完全相同。 具体原理可分以下几步理解: 1. 时间戳的本质 Unix时间戳(通常指秒数或毫秒数)是从 1970- ...
AI Agent 开发实战:用LangChain4j构建你的第一个Java智能体
前言 AI Agent是2026年最热门的技术方向之一。本文用LangChain4j带你从零开始构建一个Java智能体,实现对话、工具调用和记忆功能。 一、什么是AI Agent? AI Agent(智能体)是能够自主决策并执行任务的AI系统,核心能力: 理解意图:解析用户自然语言 规划任务:分解复 ...
Mysql的行级锁到底是怎么加的?
开篇结论 加锁的对象是索引,加锁的基本单位是 next-key lock,它是由记录锁和间隙锁组合而成的,next-key lock 是左开右闭区间,而间隙锁是左开右开区间。 在只使用记录锁或者间隙锁就能避免幻读现象的场景下, next-key lock 就会退化成记录锁或间隙锁。 假设这个表,id ...
仅售3xx 元!基于核桃派 zero 的掌上 Linux 小电脑,DIY 党狂喜
Walnut Pi 是一款**基于核桃派 zero 的超便宜掌上 Linux 小电脑**,核心就是:
* 价格仅 **349 元成套**(已有核桃派 zero 可减 139 元,到手更低)
* 纯 DIY 组装,只用螺丝刀,不用胶水,新手也能搞定
* 跑完整 Linux 系统,支持无桌面 ... ...
Python AI爬虫实战:爬取张雪峰微博并进行情感分析与词云可视化
张雪峰老师的突然逝世,全网都感到无比的悲痛,他说:钱财早已不重要,能实实在在帮到普通人,才是活着的意义。为此他长期的身心透支,默默地付出着自己。 看到不少博主推送的消息,都说:张雪峰老师很累,长期拼搏到凌晨,为了验证一下这个结果,我以微博里张雪峰老师发送的微博内容使用AI全流程开发一个简单的爬虫,系 ...
Java线程池完全指南:从原理到实战的7个关键点
前言 线程池是Java并发编程的核心组件,也是面试必考题。本文从原理到实战,带你全面掌握线程池的7个关键点。 一、为什么需要线程池? 每次创建线程都有开销: 线程创建需要调用系统API,开销大 线程销毁也需要开销 大量线程会消耗内存 线程池解决问题: 线程复用,减少创建销毁开销 控制最大并发数 提供 ...
MySQL锁机制:从全局锁到行级锁的深度解读
全局锁 flush tables with read lock 执行后,整个数据库就处于只读状态了,这时其他线程执行以下操作,都会被阻塞: 对数据的增删改操作,比如 insert、delete、update等语句; 对表结构的更改操作,比如 alter table、drop table 等语句。 全 ...
密码学系列之C/Python编程实现DES算法
DES 任务描述 编程实现DES的加密和解密算法,对明文“0x0123456789ABCDEF”进行加密,采用密钥“0x133457799BBCDFF1”,输出每一轮的加密结果和轮密钥,并对密文进行解密,输出解密后的结果。 DES算法详细介绍我就不展开了,但是简略的过程如上。同样,有需要的读者适当考 ...
密码学系列之C/Python编程实现AES算法
AES 任务描述 编程实AES的加密和解密算法,对明文“0x3243f6a8885a308d313198a2e0370734”进行加密,采用密钥“0x2b7e151628aed2a6abf7158809cf4f3c”, 输出每一轮的加密结果和轮密钥,并对密文进行解密,输出解密后的结果。 AES通常细 ...
给大家看几个触目惊心的招聘 JD…
大家好,我是R哥。 给大家看几个触目惊心的招聘 JD: 各大厂、中小厂都在大量招 Java + AI 后端复合人才… 不管你愿不愿意相信,AI 大模型诞生这几年多以来,对传统Java工程师的冲击,早已不是 “遥不可及的威胁”,而是实实在在的行业变革。 甚至已经让一批学历普通、技术平庸、只会机械 CR ...
Redis缓存实战:彻底解决缓存穿透、击穿、雪崩三大难题
前言 Redis缓存是Java开发中最常用的技术之一,但缓存穿透、击穿、雪崩三大问题也是面试高频考题。本文结合实战代码,带你彻底搞懂这三大难题。 一、缓存穿透 问题描述 查询一个数据库和缓存中都不存在的key,每次请求都打到数据库,大量请求可能拖垃数据库。 解决方案 1. 缓存空对象 @Servic ...
揭秘MySQL索引分类
索引的作用 说白了索引就是数据的目录,根据索引去查数据必然比在库中一行记录一行记录的查更快 索引分类 按数据结构分类 Mysql的数据是存储在磁盘中的,每次从磁盘中读取数据都需要进行一次IO。一个表的数据在磁盘上由于插入顺序的原因肯定不是顺序存放,如果按照表字段内容顺序查找,如果一个500万条数据的 ...
Python变量作用域与命名空间详解:从LEGB到代码实践
引言 理解变量作用域和命名空间是掌握Python的关键一步。许多初学者在遇到UnboundLocalError或发现函数内外变量值不一致时感到困惑。本文将深入解析Python的变量查找机制,帮助你写出更健壮、更可预测的代码。 一、什么是命名空间? 命名空间(Namespace)是一个存储变量名到对象 ...
Hutool 的 `TimedCache` 到期会自动清理吗? ——————hutool cache的"惰性清理"和"定期清理"
是的,Hutool 的 TimedCache 会在到期时自动清理缓存项,但它的清理机制是基于"惰性清理"和"定期清理"两种策略结合,而不是立即清理。 核心清理机制 1. 惰性清理(Lazy Eviction) TimedCache<String, Object> cache = new Tim ...
Java 26 发布了, 我人麻了。。
大家好,我是R哥。 Java 25 刚发布半年之久(Java 25 正式发布),很多人可能还没听说过,现在 Java 26 又来了,我真的人麻了啊。。。 需要注意的是,Java 26 并不是 LTS(长期支持版本),千万不要用在生产环境里,因为它许多特性还在预览阶段,可能会有不兼容的变动。 废话不多 ...
Spring Boot 整合AI大模型实战:手把手带你接入DeepSeek API
前言 随着AI大模型的快速普及,越来越多的Java开发者希望将AI能力集成到自己的项目中。本文手把手带你用Spring Boot接入DeepSeek API,实现一个具备AI对话能力的后端服务。 一、环境准备 JDK 17+ Spring Boot 3.x Maven 3.8+ DeepSeek A ...
InnoDB存储结构全解析:行页区段与单表2000W行的关系
逻辑存储结构 表空间由段(segment)、区(extent)、页(page)、行(row)组成,InnoDB存储引擎的逻辑存储结构大致如下图: 行(row) 数据库表中的记录都是按行(row)进行存放的,每行记录根据不同的行格式,有不同的存储结构。 页(page) 记录是按照行来存储的,但是数据库 ...
⏰ Python日期时间处理完全指南:从datetime到实战技巧
⏰ Python日期时间处理完全指南:从datetime到实战技巧 引言 在Python编程中,日期和时间的处理是不可或缺的技能。无论是记录日志、处理用户数据,还是构建定时任务,都需要与日期时间打交道。本文将深入讲解Python的datetime模块,从基础概念到实战技巧,帮助你彻底掌握日期时 ...


