自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL中的UNION ALL和UNION 有什么区别,以及如何去使用

UNION ALL是 SQL 中高效合并结果集的利器,其“保留重复、不排序、高性能”的特性使其在多数数据整合场景中优于UNION。使用时务必确保各查询的列数和数据类型一致,并根据业务需求决定是否需要后续去重或排序。掌握UNION ALL,能显著提升复杂查询的灵活性与效率。

2026-01-08 19:56:51 716

原创 MySQL的Double类型多少位会丢失精度?以及Java代码为什么会把Double转成科学计数法?以及怎么将科学计数法的数转成实际值(用BigDecimal遍历然后.toPlainString())

数值类型最大安全整数位数超出后行为DOUBLE15 位(保守)17 位(理论极限)第 16~17 位可能因舍入而变化第 18 位起必然失真💡金融、ID、精确计数等场景绝对不要用DOUBLE!必须用DECIMAL或整数类型。问题答案DOUBLE最多多少位不丢精度?15 位十进制有效数字(保守值),最多 17 位超过多少位会失真?第 16 位起可能失真,18 位起必然失真多少位会显示为科学计数法?不是 MySQL 决定的!• Java: ≥1e7 或 ≤1e-3。

2026-01-06 17:43:51 712

原创 DataGrip怎么查看历史SQL脚本

场景推荐方法手动保存过.sql文件用Files 工具窗口打开忘记保存,但写过查询查看刚才执行过某条 SQL按↑ 上箭头或看文件被误删使用恢复想快速切换最近脚本按Ctrl + E💡最佳实践:养成将重要 SQL 保存到项目目录的习惯,同时善用Scratches作为临时草稿区。

2026-01-05 09:57:03 922

原创 Hikeri和Durid的优势和劣势分别是什么?

你的需求选哪个?追求极致性能、低延迟、轻量👉HikariCP需要 SQL 监控、防注入、运维友好👉Druid不确定?👉先用 HikariCP,后期按需切换 Druid(接口兼容)🔧最佳实践建议开发/测试环境:用HikariCP(快、稳、简单);生产环境(尤其金融/政企):用Druid(安全、可观测);如果用 Spring Boot,两者切换成本极低(只需改配置 + 依赖)。HikariCP 是“跑车”——快、轻、专注性能;Druid 是“SUV”——稳、全、自带导航和雷达。

2025-12-31 16:35:38 424

原创 分布式定时任务调度XXL-JOB+ORACLE+MyBatisPlus,实现订单去重并将最终状态写入到一张新的表中,以及数据库连接池怎么去设置,批量拉取+游标分页+走主键索引,数据库去重+内存去重方案

问题原因解决方案数据库/网络断开了空闲连接1. 缩短2.优化 SQL 避免长查询spring:hikari:# 关键1:maxLifetime 必须小于 Oracle 的空闲超时(如 5 分钟 = 300000ms)max-lifetime: 240000 # 4 分钟(单位:毫秒)# 关键2:设置验证查询(Oracle 必须用 DUAL)# 可选:空闲超时(建议 <= maxLifetime)idle-timeout: 300000 # 5 分钟# 可选:最小/最大连接数。

2025-12-31 16:25:05 334

原创 XXL-job设置accesskey和告警邮箱

项目上线后,调度任务执行失败,当无告警信息时,只有再数据出现错误,进行问题定位和分析时,才会知道执行结果信息,每次出现问题,不能及时的知晓对于运维而言,很不友好。但是xxl-job中具备这个能力,具体配置项参考下面详细信息。系统架构在xxl-job中,有2个角色:xxl-job-admin调度中心统一管理任务调度平台上的调度任务,负责触发调度执行,并且提供任务管理平台。xxl-job-executor执行器执行器通常是我们的业务系统,如示例中的springboot项目。

2025-12-31 15:52:23 341

原创 Oracle数据库怎么进行SQL优化(查看SQL是否使用索引的方法)

这将显示SQL语句的执行计划,包括是否使用了索引以及使用了哪种类型的索引扫描(如索引唯一扫描、索引范围扫描等)。该包提供了多种方法来查看执行计划。使用函数或运算符对索引列进行操作(如SUBSTR、DECODE等)会导致索引失效。在WHERE子句中使用不等于操作(如<>、NOT IN等)通常会导致不使用索引。这将显示当前在共享池中的SQL执行计划。

2025-12-31 14:49:07 260

原创 如何将下载的Jar包放到本地的Maven仓库?

二、配置Maven本地仓库地址,默认是${user.home}/.m2/repository,需要修改。三、执行命令,任何地方都可以,前提配置Maven的环境变量。

2025-12-30 14:56:40 201

原创 企业做接口设计时常用的工具---YAPI,以及如何去分析一个接口的请求方式、请求路径、请求参数、返回值(明面的看产品原型图,隐含的需要自己分析)

返回值要看页面原型图,看页面渲染的时候需要什么字段,就给什么字段,以及分析隐含的字段,结合页面原型图去分析。data是一个数组,里面装的是item是object类型的,包含了每个item的示例值和说明。分页查询,必须要告诉前端总共的条数和当前的页数,这样才可以生成一个分页条。当前页面展示的数据要根据页面原型图去完成,页面需要什么,就要返回什么。一个关键是接口路径,另一个关键是接口的请求方式。/us是微服务的名字,然后再带上具体的路径。当前课表相关的功能在学习中心的微服务实现的。/users是资源的名称。

2025-12-25 19:54:54 180

原创 idea本地开发完功能,想要拉取远程仓库代码无法拉取的解决办法

方法是否保留修改推荐度✅ 提交(Commit)是⭐⭐⭐⭐⭐✅ 暂存(Stash)是(暂时)⭐⭐⭐⭐✅ 还原(Revert)否⭐⭐⭐👉建议优先选择「提交」,除非你知道这些修改是错的或不需要的。如果你不确定,可以贴出你改了哪些内容,我来帮你分析 👇。

2025-12-24 11:29:10 855

原创 开发一个新业务的一般流程,以及如何进行业务之间的解耦

基于业务和原型去实现对应的接口,可能此时会发现之前的接口设计的不一定正确,比如需要加一两个参数,或者返回值需要加字段,所以接口设计并不是一步到位的,而是一个大的方向,可以让我们基于接口去做开发,此时发现需求对不上,可以和前端沟通,去调整这个接口。部署到开发或者测试环境,再去和前端做一个联调,在这个联调的过程中也可以发现很多bug,此时是一些业务逻辑性的bug ,发现bug修复完联调,发现bug修复完联调,循环往复,直到将所有bug修复完成,然后就可以上线部署了。用户课程表达数据,从哪里获取,何时获取。

2025-12-23 19:51:55 150

原创 MyBatisPlus的逻辑删除,以及启动同一个服务的多个实例应该怎么去指定要调用的服务接口(发环境联调测试需要修改Jenkins自动化构建脚本需要将代码推送到Git私服Git私服通过WebHock)

请求头放用户信息请求体放要删除的订单id订单信息属于重要的信息,所以不能直接删除,而是进行逻辑删除。

2025-12-22 20:04:02 229

原创 IDEA失去焦点自动编译

2025-12-19 16:46:50 66

原创 JPA的@EqualsAndHashCode(of = “id“) 代表什么意思

Lombok的@EqualsAndHashCode(of="id")注解用于自动生成基于id字段的equals()和hashCode()方法,适用于数据库实体类。它只比较id字段,确保即使其他字段变化,只要id相同就视为同一对象,避免集合操作错误。该注解特别适合JPA/Hibernate实体,要求id不可变,能提升性能并保持哈希一致性。相比其他变体,of="id"是最严格的实现方式,符合实体类由主键标识的设计原则。

2025-12-19 15:55:07 405

原创 JPA的domain包和entity包有什么区别

domain包存放业务领域对象(DomainModel),代表业务概念;entity包存放数据库实体(Entity),用于与数据库表映射。两者职责不同但常一一对应:entity负责数据存储(含JPA注解),domain处理业务逻辑(不含数据库依赖)。典型分层架构中,entity是"数据库的影子",domain是"业务的灵魂",通过职责分离降低耦合、提高可读性,便于重构和DDD实践。建议保持两者对应关系,在Service层完成转换,避免domain混入JPA注解。这种结

2025-12-19 15:53:44 533

原创 Java对象为什么要进行序列化

序列化 = 把“活对象”打包成“标准包裹”,以便存储、邮寄或交给别人拆开使用。数据无法持久保存服务无法远程调用系统无法协同工作因此,序列化是现代软件开发(尤其是分布式系统)的基础设施之一是 Java 中用于序列化(Serialization)版本控制的一个特殊字段。它的作用是确保在反序列化时,对象的类版本与当前代码中的类版本兼容。是一份“版本契约”它告诉 JVM:“这个类的序列化格式从版本 1 开始”只要你不改它,即使类升级,旧数据也能安全读取是 Java 序列化机制中。

2025-12-19 15:32:14 769

原创 @SequenceGenerator和@JsonIgnoreProperties

注解所属框架作用使用场景定义数据库序列生成主键实体类主键字段上(配合Jackson忽略指定字段的 JSON 序列化/反序列化实体类上(解决 Hibernate 代理序列化问题)💡 两者常同时出现在同一个实体类上,但毫无关联——一个管数据库主键,一个管 JSON 输出。

2025-12-19 15:01:52 210

原创 主题:SQL 中 NOT EXISTS 的原理与最佳实践

两个sql,在某些情况下执行结果是一样的(not in如果子查询为null,可以直接报错)而not exists更加安全,为什么?

2025-12-18 09:04:46 891

原创 SQL语句的多表联查,什么时候要用on什么时候用where

在LEFT JOIN中,如果你把右表的过滤条件写在WHERE里,就等于把它变成了INNER JOIN。所以,要保留左表的所有行,右表的条件必须写在ON里!希望这个解释能帮你彻底搞懂这个问题!如果还有具体场景不确定,欢迎贴出来一起分析。

2025-12-12 13:23:07 370

原创 两张表关联查询,查询条件什么时候加到on上,什么时候加到where上面(过滤右表的条件应写在 ON 子句中,以保留左表所有行)

条件在ON条件在WHERE作用阶段连接时(决定右表哪些行能匹配)连接后(对整行做过滤)对左表影响永不丢左表行(LEFT JOIN 语义)会丢左表行(如果右表为 NULL)NULL 处理允许右表为 NULL→ false/unknown → 被过滤适用场景需要保留左表所有记录(如你的需求)只要匹配成功的记录(相当于 INNER JOIN)左连要保左,右表条件放 ON;统计匹配数,COUNT(右表字段);若用 WHERE 滤,左表数据全丢光;COUNT(*) 是总数,别拿它当已报量。

2025-12-11 14:40:08 713

原创 !Object.equals(userId, id),比较包装类的时候防止空指针异常,以及Java的基础类型为什么不能用这种方式去比较

比较类型是否可用推荐方式intvsint❌ 不需要,且低效==或!IntegervsInteger✅ 推荐(防 NPE)intvsInteger⚠️ 可用,但仅在Integer可能为null时有意义优先用防空指针💡基本原则基本类型 → 直接用==;包装类或不确定是否为 null → 用。如有更多关于自动装箱、性能或空安全的问题,欢迎继续提问!

2025-12-09 19:35:01 502

原创 Java 中包装类的享元模式,以及包装类应该怎么比较大小

享元模式通过共享尽可能多的相似对象,来减少内存中对象的数量,从而节省资源。对象数量庞大;对象状态大部分可共享(尤其是不可变对象);对象本身占用内存较多或创建开销大。在 Java 包装类中,这些“小整数”就是典型的可共享、不可变、频繁使用的对象。Java 包装类的“享元模式”是指:对常用小数值(如 -128~127)进行对象缓存和复用,以减少内存开销。这是享元设计模式在 JDK 中的经典实践。这种设计体现了 Java 在性能与易用性之间的平衡,也是面试中常考的知识点。在 Java 中,

2025-12-09 18:34:34 740

原创 Maven 仓库与镜像配置最佳实践笔记

用pom.xml声明xxx,是安全使用外网仓库的唯一正确方式。

2025-12-08 11:12:09 238

原创 借助Spring官方查看某个依赖是否存在

是,专门用于托管。

2025-12-08 09:55:18 338

原创 Windows如何安装Chocolatey,利用choco安装curl命令。以及验证本地Ollama及下载的AI大模型是否可用

是一个功能强大的命令行工具,可用于发送HTTP/HTTPS请求、下载文件、调试API等。以下是从安装到常用操作的完整步骤。错误,因为它是标准的 PowerShell 语法。✅ 这样就绕过了所有网络限制和语法问题!等待几分钟,它会自动下载并安装。,不是 PowerShell!→ ✅ 表示安装成功!

2025-12-08 09:51:26 330

原创 当在服务器上进行测试的时候,发现了Bug,应该怎么去解决?(使用idea的远程调试功能)

当在服务器上进行测试的时候,发现了Bug,应该怎么去解决?把代码拉下来然后本地部署?有很多Bug,拿到本地后,Bug就消失了,如果在开发环境发现了问题,最好在开发环境测试,如果客户运行的时候产生了Bug,最好在客户服务器上进行测试但是无论是开发环境的服务器还是客户的服务器,都不在本地,应该怎么测试?

2025-12-05 20:13:12 316

原创 AnnotherRedisDesktopManager无法找到向量化后的数据(本地Docker部署的RedisStack和本地Windows主机上部署的端口都绑定到了6379冲突了,怎么解决?两种)

问题原因解决JSON.SET不存在连的是普通 Redis,不是 Redis Stack关闭本地 Redis 或换端口Docker 无法绑定端口被占用执行报错权限不足以管理员身份运行 CMD容器运行但无数据实际连的是旧 Redis检查连接地址。

2025-12-05 18:19:48 666

原创 接手别人项目,如何快速上手---阅读源码,以及解决Bug

10010端口是网关微服务,网关的核心就是请求的路由,就会把具体的请求路由到具体的微服务。如果有开发文档,就可以很快找到入口,从而快速理清楚业务线,从而定位到问题。前端发起的请求对应192.168.150.101:10010端口。是 Spring Cloud Gateway 提供的一个。如果没有,就通过前端入手,因为请求一般都是由前端发起的。所以想知道具体的请求到了什么位置,就要通过网关去查看。这样就找到了名为trade-service的微服务。这样一路向下找就找到了服务的入口地址。

2025-12-04 19:57:33 138

原创 熟悉项目,微服务项目的两种结构,配置文件规范,微服务中的依赖,Nacos共享配置文件的解析,以及Nacos的动态配置,修复Bug

修复Bug,不光可以熟悉整个项目的结构,还可以熟悉代码流程,代码规范,是熟悉项目的最佳途径。

2025-12-03 21:19:46 680

原创 Jar包解析到本地的代码

目的推荐方式看里面有哪些文件或 7-Zip提取配置/资源文件解压或jar -xf查看 Java 源码编程分析 JAR 结构JarFileAPI修改 JAR 内容解压 → 修改 → 用jar -cf重新打包如有具体场景(比如“我想提取某个配置文件”或“反编译某个类”),可以告诉我,我会给出更精准的操作步骤!

2025-12-03 15:43:37 805

原创 git fetch命令:“把远程仓库的新内容拉到本地,但不改动你的代码。”

git fetch= “悄悄看一眼远程有什么新东西,但不动我的代码。它是 Git 工作流中最安全、最推荐的同步方式之一。

2025-11-28 09:40:39 220

原创 CSS文本样式

一般是设计师已经设计好的颜色,直接复制即可用到了半透明的效果。

2025-11-27 16:41:48 115

原创 前端中为什么英文不自动换行?

中英文自动换行差异源于浏览器默认处理机制不同。中文每个字都可作为断点,因此自动换行;而英文连续字母被视为一个单词,默认不换行。HTML默认的white-space:normal属性允许中文换行,但对无空格英文无效。要让英文自动换行,需设置overflow-wrap:break-word或word-break:break-all。最佳实践是统一为内容容器添加这两个CSS属性,确保所有文本都能正常换行,提升布局稳定性。

2025-11-27 15:09:02 249

原创 CSS综合案例

通配符选择器,需要设置边距和浏览器紧紧贴着。padding是内容和边框之间的距离。

2025-11-27 15:06:01 130

原创 CSS的关系选择器(后代选择器,子代选择器,邻接选择器,通用兄弟选择器)

关系选择器是由俩个或者两个以上选择器组成的关系选择器。

2025-11-27 11:10:37 203

原创 CSS画盒子案例(宽高背景色,已经用通配符选择器清除内外边距)

div class = "header" 的快速写法 .header。h60会直接直接生成 height:60px。宽度的话不进行指定,就是浏览器默认的宽度。但是此时这个页面并没有紧紧的贴着浏览器。而其他的商业网站的是紧紧贴着浏览器的。让块级盒子在浏览器居中对齐。此时可以用通配符选择器。让浏览器水平居中对其。

2025-11-27 10:45:40 104

原创 GET 请求不能与 @RequestBody 一起使用

方法能否用推荐参数方式GET❌ 不可以/ 路径变量✅ 可以📌记住:GET 请求不要带 body,这是 Web 开发的基本原则之一。

2025-11-26 09:44:53 312

原创 CSS选择器--类型选择器、类选择器

CSS样式具有层叠性,也就是后面的会覆盖前面的。

2025-11-25 17:13:48 310

原创 CSS3简介

内联样式表,写在头部,相当于代码耦合,下面的标签都可以调用这些样式。内联样式表和内部样式表。

2025-11-25 15:42:13 136

原创 Markdown设置主题以及使用

插入图片后,查看图片路径,可以发现是绝对路径,所以把这个markdown文件拷贝给别人,别人没有这个图片路径是看不到的,所以想要拷贝图片后自动生成一个图片文件夹,这样拷贝给其他人也可以打开这张图片了。意思就是把复制的图片放到新的./assets文件夹去。Table键可以缩进。表格可以直接复制粘贴。

2025-11-25 14:39:27 139

空空如也

空空如也

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

TA关注的人

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