自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解答为什么只有时间字段需要只有时间字段需要添加 @JsonFormat 注解

Java 的 LocalDateTime 类型在没有指定格式的情况下,Jackson 序列化器(Spring Boot 默认使用)通常会将其输出为复杂的 JSON 对象结构(包含 year, month, day, hour 等字段),例如:{"year":2023,"month":"OCTOBER",...}。@JsonFormat 强制将时间对象序列化为指定的字符串模式。总结: @JsonFormat 是专门用于控制日期时间类型在 JSON 传输中的展示格式和时区的,对于普通的字符串字段是多余的。

2026-03-08 22:26:41 88

原创 帆书(原樊登读书)一面

hashmap 和 corruentmap 的区别?利用反射,为什么要用反射?为什么框架中需要反射?

2026-03-05 15:37:35 55

原创 米立科技面试

3、平常的工作强度是怎么样的?如果当天的任务排期,可以完成那么就不会存在加班的情况。你上一份工作的需求都是产品经理分配的吗?1、数字化信息部: 目前9人,主要做的内容是,将原有的数据内容搬移到线上去。鼎捷TOP100 erp产品 要求实现不复杂简单的数据库的增删改查这种。主要做公司二次开发以及和其它部门进行对接,解决日常其它部门的疑难杂症。主要做二次开发,我们是甲方公司购买了乙方的产品。你是如何分配工作中的优先级的?说一下你对AI的理解和看法?hr:选择我们公司的优势。openclaw 了解。

2026-03-05 15:31:19 41

原创 长亮科技一面

面试官提醒后,才回忆起公司中业务种锁表的情况。也就是当线上数据请求的时候,这时候你贸然加上字段。就会造成锁表的情况。base 厦门,包括银行业务的存期,转账的交易。面试官答复: 当遭遇线上锁表的情况,你应该查询进程id,来终止这一个进程。主键索引: 唯一性 绝对唯一,主键索引不允许为 NULL。唯一索引: 保证字段值唯一,但允许有一个 NULL 值。但问题是这样的情况,也会造成数据丢失的情况(小部分)。我这一块答的不太满意,回答的时候没有想起来。主键索引和唯一索引的区别?公司的AI的业务场景?

2026-03-05 11:16:33 97

原创 缓存一致性解决方案:延迟双删策略

延迟双删是缓存一致性解决方案中「性价比最高」的一种,没有复杂的架构设计,简单易落地,能解决80%的缓存不一致问题。核心记住:两次删除缓存的目的不同——第一次删,避免更新期间读旧缓存;第二次删(延迟),避免更新过程中读请求写回旧缓存。只要掌握这个核心逻辑,就能灵活运用到实际开发中。我们校园小程序的帖子内容、用户资料缓存,就是采用「延迟双删+5分钟缓存过期」的方案,既保证了一致性,又没有影响接口性能,亲测好用~

2026-03-02 19:20:54 630

原创 @Service 与 @DubboService 注解对比

来源:org.springframework.stereotype.Service作用:将当前类标记为一个 Spring Bean,纳入 Spring 容器的管理。它主要用于本地服务的定义,表明这个类是业务逻辑层的组件。本质:它是一个本地组件,存在于当前应用的 JVM 进程内部,供同一应用内的其他模块或类直接调用。表格注解作用调用方式适用场景@Service本地 Spring Bean同一 JVM 内部调用单体应用、模块内部Dubbo 服务提供者跨 JVM 网络调用。

2026-02-25 16:16:23 569

原创 富爸爸和穷爸爸书籍观后感

什么是资产:就是能给你带来收入的东西,例如原创书籍,房地产收租。负债:指的是汽车之类的消耗品,购买这项东西并不能直接给你带来收益。只会损耗你的金钱。作者这里有特殊举例,如果你购买汽车能够节约你日常的大部分时间,或者是出去应酬,并且能给你带来收益。那么这就是值得购买的。

2026-02-13 22:37:08 55

原创 IDEA Git Commit 提交面板全解析:让代码提交更规范高效

在日常开发中,Git 提交是我们和代码仓库打交道最频繁的操作之一。今天我就结合自己的使用经验,给大家详细拆解一下 IntelliJ IDEA 中 Git Commit 提交面板的各项设置,帮你让每一次提交都更规范、更省心。

2026-01-31 15:41:00 575

原创 MySQL Binlog 数据恢复实战

MySQL Binlog 恢复的核心是「解析日志→转换为回滚 SQL→执行恢复」,权限问题是最常见卡点;日志清洗的关键是统一 SQL 结构(用awk控制括号 / 换行),避免sed替换导致的格式混乱;恢复前备份、恢复后验证是必做步骤,确保数据一致性。

2026-01-29 11:58:13 437

原创 Seata 中 TC 二阶提交机制核心

Seata TC 的二阶提交是“先准备、后统一决策一阶做“业务执行 + 回滚准备 + 锁准备”,保证“能提交也能回滚”;二阶由 TC 统一调度“提交/回滚”,通过undo_log实现回滚、通过全局锁保证数据一致性;核心目标是在分布式场景下,实现“要么所有分支事务都成功提交,要么所有分支都回滚”的最终一致性。

2026-01-17 22:49:58 967

原创 Spring Cloud Gateway 路由表配置

Spring Cloud Gateway 的路由表是网关的核心配置,负责将请求转发到不同的服务 / 地址。

2026-01-13 22:38:03 469

原创 Sentinel 熔断规则 - 异常比例(order & product 示例)笔记

熔断触发后的30秒内,order 对 product 库存接口的所有请求都会被 Sentinel 拦截,不会真正发送到 product 服务,避免 product 服务在异常状态下被持续请求,减轻其压力。order 服务持续调用 product 的库存接口,若1秒内请求数不足5,或异常请求占比低于50% → 不触发熔断,请求正常发送。比如设为5,则1秒内 order 调用 product 接口的请求数不足5时,即使全部请求异常,也不会触发熔断。只有当时间窗口内的总请求数达到或超过该数值,才会计算异常比例。

2026-01-12 15:30:25 473

原创 流控关联模式踩坑实录:写接口刷多了,为啥被限的是读接口?

谁是 “资源名”,谁就会背 “自身 + 关联资源” 的流量锅。你想限谁,就把谁设为 “资源名”;关联资源是 “帮它分担流量计算的搭档”。这模式真的太容易搞反了,记不清的话,配完最好压测验证下 —— 别像我一样,以为是保护读接口,结果把读接口自己坑了。

2026-01-11 22:16:17 174

原创 Sentinel 资源异常处理优先级笔记

仅管 Sentinel 规则异常;管业务异常,也可通过加。参数同时管规则异常;

2026-01-08 23:14:52 294

原创 Sentinel @SentinelResource:用 blockHandler 实现优雅的接口降级

的value和value负责标识资源,让 Sentinel 知道要保护谁;负责降级兜底,让系统在异常时能优雅返回,而不是直接崩溃。用这两个参数,只需要几行代码就能给接口加上 “流量防护盾”,是微服务稳定性建设中性价比极高的实践~

2026-01-07 14:45:57 455

原创 FeignClient 踩坑:@FeignClient 同时配 value 和 url 的 “无效服务名” 问题

的value/name和url用服务名→走注册中心、享负载均衡,只配value;用固定地址→调用第三方接口,只配urlvalue仅做标识)。同时配置两者,既浪费了 Spring Cloud 的能力,又会让代码可读性变低 —— 别让多余的配置成为维护的 “暗坑”!需要我帮你整理一份FeignClient 常用配置的速查表吗?

2026-01-06 20:56:06 440

原创 【SpringCloud】@EnableFeignClients 扫描范围:别再踩包扫描的坑!

EnableFeignClients 写法扫描范围适用场景无参数主启动类所在包及其所有子包Feign 接口分散在多个子包时basePackages = "指定包路径"仅指定包及其子包Feign 接口集中在单独包时Feign 接口一定要加注解,否则哪怕扫描到了也不会被识别哦~要不要我帮你补充一个 **“Feign 注入失败的排查步骤”**,放在博客末尾当扩展内容?

2026-01-06 16:47:26 209

原创 从 0 到 1:Spring Cloud OpenFeign 远程调用实战指南

写一个接口,用标注(指定要调用的服务名),再用 SpringMVC 的注解(等)定义请求规则:java运行// value:要调用的微服务名;fallback:降级处理类(熔断用)// 这里的@GetMapping不是“接收请求”,而是“发送请求”注意:Feign 接口上的 SpringMVC 注解,作用是描述 “要发送的 HTTP 请求”(和 Controller 上的注解逻辑相反)。

2026-01-05 23:08:21 380

原创 Maven 聚合工程打包报错:Unable to find main class 快速解决

这个报错的核心是插件配置范围不对,只需让只服务于有启动类的业务模块,就能彻底解决问题。

2026-01-04 21:28:31 423

原创 喜相逢集团有限公司面试经验

业务场景: 当用户填写车牌号其中的一位或者两位数的时候,如何直接从库中搜索到完整的车牌号。Linux 传递文件到远端命令 scp 以及各个参数的作用。Redis 分布式锁原理,watch dog 看门狗。线上经验如何排查,详细步骤。水资源无限,3L和5L水桶各一个,怎样取4L的水?要求: 在海量数据中高效查询出数据库中的数据。分布式远程调用中如何给每个请求加上请求头。回忆部分--------------自研业务租车平台#牛客AI配图神器#后端开发线下面试base 福州。一共两轮,一轮组长,一轮领导。

2026-01-01 11:50:44 257

原创 MySQL kill 命令实战:从 “终止 SQL” 到 “看清进程” 的避坑指南

定位目标:用找到要终止的 SQL,记好连接ID和Info;执行 kill:优先用kill query [连接ID];验证结果查,看目标连接的Info是否不再是被终止的 SQL;(可选)查通用日志,确认 SQL 已终止;观察数据库负载是否下降。最后提醒:线上环境用kill前,一定要确认Info里的 SQL 是 “异常 SQL”—— 别把核心业务的正常查询给终止了!

2025-12-30 23:07:56 511

原创 MySQL子查询性能优化:从10秒到1秒的改写技巧。

先看原始需求:从`e_cons_snap`表中删除满足“关联`c_cons`表中`status_code='9'`且`mr_sect_no='1'`”条件的数据。这意味着:子查询不是“先执行完得到结果,再和外表关联”,而是每遍历外表的一条数据,就执行一次子查询——相当于做了“百万次循环+子查询”,性能直接拉垮。1. 先执行`c_cons`表(b表),通过`status_code`和`mr_sect_no`的过滤条件,只得到**1条记录**;二、慢查询根源:执行计划的“依赖子查询”

2025-12-30 22:41:59 399

原创 DDD架构设计模块

摘要:DDD架构采用四层模块化设计:1)领域层(domain)封装核心业务规则与模型(如电商的订单模块);2)应用层(application)协调业务流程(如下单服务);3)基础设施层(infrastructure)提供技术支撑(数据库/MQ工具);4)接口层(interface)处理外部请求(REST接口)。各层职责明确,领域层保持业务纯粹性,应用层专注流程编排,技术实现下沉至基础设施层,实现业务与技术解耦。(149字)

2025-12-29 23:01:08 263

原创 Idea中Git切换分支,如何确保代码不丢失。

在Git Stach的时候填写消息备注好此次隐藏的主题,然后即可切换到别的分支。当别的分支任务处理完成后即可回来。切换回来分支后,可看见刚刚Git stash的记录,选择应用即可恢复原先的代码(并保留此次的的隐藏记录),如果选择弹出则删除之前的记录。(临时保存,后续回滚)适合 “修改未完成,不想提交但需要切分支” 的场景。最后进入搁置界面找到刚刚搁置的信息,选择取消搁置即可。

2025-11-18 22:44:58 340

原创 Jenkins + CICD流程一键自动部署Springboot项目(保姆级)

这里填写的地址就是刚刚jenkins中配置的URL,密码也是刚刚在Jenkins中生成的随机密码。采用docker部署jenkins,注意这里的命令,一定要映射docker路径,否则无法找到(ps:已踩坑)然后容器内要安装maven,注意这里需要更换镜像源,否则采用默认的源会很慢。然后再选择一个执行shell,并且将这个打包的环境执行成为一个镜像。然后是配置webhook,也是在刚刚的任务配置中配置。配置git仓库地址,然后选择刚刚创建的凭据。以上配置完成后,应用保存,然后执行构建即可。

2025-03-30 23:40:20 750

原创 Jenkins + CICD流程一键自动部署Vue前端项目(保姆级)

这里填写的地址就是刚刚jenkins中配置的URL,密码也是刚刚在Jenkins中生成的随机密码。采用docker部署jenkins,注意这里的命令,一定要映射docker路径,否则无法找到(ps:已踩坑)然后配置jenkins中的用户名和密码即可。然后再选择一个执行shell,并且将这个打包的环境执行成为一个镜像。在这里指定一个node的版本号,其它的不用勾选。然后是配置webhook,也是在刚刚的任务配置中配置。配置git仓库地址,然后选择刚刚创建的凭据。以上配置完成后,应用保存,然后执行构建即可。

2025-03-29 22:22:06 2077

原创 解决 Gin Web 应用中 Air 热部署无效的问题

在使用 Go 语言开发 Web 应用时,Gin 框架因其高效和简洁深受开发者喜爱。为了提升开发效率,我们常常借助 Air 工具实现热部署,让代码修改后能实时生效,无需手动重启服务。然而,不少开发者在使用过程中遇到了 Air 热部署失效的情况,本文将结合实际案例,深入探讨可能的原因及解决方法。

2025-03-27 17:11:36 616

原创 Go 语言中使用 Swagger 生成 API 文档及常见问题解决

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。它通过定义一种标准的接口描述语言(如 OpenAPI 规范),让开发者能够轻松地创建、维护和分享 API 文档。对于 Go 语言开发者而言,Swagger 提供了便捷的方式将代码与文档紧密结合,使得 API 的设计和使用更加透明、高效。通过使用 Swagger,Go 语言开发者能够高效地生成专业、详细的 API 文档。

2025-03-27 11:00:28 1441

原创 MySQL回表查询

回表查询是 MySQL 数据库中一种常见的查询操作,主要出现在使用索引进行查询的场景中。

2025-03-16 13:02:00 547

原创 Java 通过原子类解决(面试)

如何不通过lock锁和synchronized来解决volatile的不可原子性。Java 通过原子类解决volatile的不可原子性(面试),详细代码如下。

2025-03-10 00:00:41 160

原创 Java多线程 解决ABA问题示例

Java多线程 解决ABA问题 采用原子引用 对应思想乐观锁 AtomicStampedReferenc。

2025-03-09 23:34:30 164

原创 3427. 变长子数组求和

返回为数组中每个下标定义的子数组中所有元素的总和。因此,输出为 13。因此,输出 11。),定义对应的子数组。是数组中的一个连续、

2025-03-05 23:38:18 294

原创 厦门用友烟草笔试 -Java实习岗位

一个7升的水桶,一个4升的水桶,如何称出6升的水。描述你所了解的技术,有没有熟悉过什么开源框架?

2025-02-23 14:11:35 246 1

原创 1014.最佳观光组合

个观光景点的评分,并且两个景点。返回一对观光景点能取得的最高分。)组成的观光组合的得分为。,也就是景点的评分之和。它们两者之间的距离。

2025-01-22 14:43:03 249

原创 1.两数之和

这个算法要解决的问题是找到一个数组里两个元素相加等于目标值的情况,并返回这两个元素的索引。然后遍历数组,对于每个元素,计算目标值减去该元素的值,将结果存为 `ans`。接着查看 `map` 里是否存在 `ans`,若存在则返回这两个元素的索引。若不存在,将当前元素和其索引存入 `map`。若遍历完数组未找到,返回空数组。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。

2025-01-19 20:21:37 245

原创 1343. 大小为 K 且平均值大于等于阈值的子数组数目

子数组 [2,5,5],[5,5,5] 和 [5,5,8] 的平均值分别为 4,5 和 6。其他长度为 3 的子数组的平均值都小于 4 (threshold 的值)。前 6 个长度为 3 的子数组平均值都大于 5。注意平均值不是整数。

2024-08-10 22:31:31 351

原创 1679. K 和数对的最大数目 --> 双指针解法

首先将数组排序方便采用双指针进行匹配,如果发现两个数之和大于k,则j--,否则i++,如果两数相加等于k,则两个指针同时移动,最后使用变量ans统计结果即可。Problem: 1679. K 和数对的最大数目。时间复杂度: O(nlogn)这些方法具体怎么运用?空间复杂度: O(1)

2024-07-25 11:00:08 486

原创 905. 按奇偶排序数组->双指针简单运用

4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。

2024-07-22 11:21:15 337

原创 1957. 删除字符使字符串变好

从第一组 'e' 里面删除一个 'e' ,得到 "leetcode"。从第一组 'a' 里面删除一个 'a' ,得到 "aabaaaa"。从第二组 'a' 里面删除两个 'a' ,得到 "aabaa"。没有连续三个相同字符,所以返回 "leetcode"。没有连续三个相同字符,所以返回 "aabaa"。请你返回删除后的字符串。题目数据保证答案总是。没有连续三个相同字符,所以返回 "aab"。相同字符,那么它就是一个。的字符,使它变成一个。

2024-07-04 22:21:00 664

原创 2085. 统计出现过一次的公共字符串

"as" 在 words1 中出现了一次,但是在 words2 中没有出现过,不计入答案。- "is" 在两个数组中都出现过,但在 words1 中出现了 2 次,不计入答案。- "leetcode" 在两个数组中都恰好出现一次,计入答案。- "amazing" 在两个数组中都恰好出现一次,计入答案。所以,有 2 个字符串在两个数组中都恰好出现了一次。唯一在两个数组中都出现一次的字符串是 "ab"。没有字符串在两个数组中都恰好出现一次。,请你返回在两个字符串数组中。

2024-07-03 22:53:26 240

空空如也

空空如也

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

TA关注的人

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