- 博客(805)
- 资源 (46)
- 问答 (3)
- 收藏
- 关注
原创 rocketMQ消费消息带重试的监听器MessageListenerConcurrently
消费模式:MessageListenerConcurrently 是并发消费模式返回状态:CONSUME_SUCCESS:消费成功RECONSUME_LATER:消费失败,稍后重试重试机制:RocketMQ 会自动处理重试,可通过 getReconsumeTimes() 获取重试次数线程安全:需要确保业务逻辑是线程安全的幂等性:由于消息可能重复消费,业务需要实现幂等处理
2026-01-28 14:31:07
14
原创 maven生命周期构建和测试发布项目
Maven 有三个主要的生命周期:clean - 清理项目default (或 build) - 项目构建和部署的核心生命周期site - 生成项目文档站点
2026-01-19 16:03:11
90
原创 Java比较两个list,A中有但B中没有的元素
Stream(流)是 Java 8 引入的用于处理集合数据的高级抽象,支持函数式编程风格的操作。 声明式:描述做什么,而不是怎么做可组合:多个操作可以链式调用可并行:支持并行处理提高性能内部迭代:自动迭代,无需手动写循环
2026-01-05 18:02:02
506
原创 基于springboot的Java快速定时任务
常用的定时任务管理XXL-JOB,但是如果快速使用定时任务使用 ApplicationRunner也很快,不要引入第三方包
2025-12-29 10:47:24
372
原创 回首2025,2026继续奋力向前
又是一年一度的CSDN博客之星评选,感谢CSDN的一路陪伴,也感谢自己一路的创作,从未放弃。2025年过的真快,今年来说,比以往更加感慨,不仅因为大环境对行业的影响,特别是今年人工智能大模型的兴风作浪,发展与挑战并存,对于大模型对人工的取代讨论不断,争议不断,今年真的是不平凡的一年。
2025-12-27 10:49:30
1522
4
原创 在Java项目里不要再重复造轮子了
最近被公司的项目架构搞的焦头烂额,我终于明白了为什么有些公司招人不允许把前一个公司的代码框架带到现在的公司了。因为架构的组合可以是无数种,但是解决的业务类型都是一样的,就拿web架构来说,我觉得全世界有那么两三套就可以了,不需要那么多五花八门的东西,为了架构而架构。
2025-12-20 10:42:11
386
原创 Java @Mapper 使用注解的方式注入SQL
MySQL 的 JSON 数据类型(从 MySQL 5.7.8 开始支持)允许你在表中存储和处理 JSON 格式的数据。JSON 数据类型提供了灵活性,但应谨慎使用。对于需要复杂查询、索引或关系约束的数据,传统的关系表结构通常是更好的选择。
2025-12-11 17:52:36
1208
原创 .gitignore文件常用设置
.gitignore 是一个文本文件,用于告诉Git哪些文件或目录在版本控制中应该被忽略。当你执行 git add 命令时,Git会参考 .gitignore 文件的内容,不会将其中指定的文件添加到暂存区。
2025-12-08 11:19:33
445
原创 JAVA使用Jwts制作token
在Java中使用JWT(JSON Web Tokens)来生成和验证token是一种常见的做法,特别是在需要无状态认证的场景中。下面是如何在Java中使用JWT的步骤,包括使用流行的库jjwt(Java JWT)来生成和解析token。
2025-12-08 09:36:36
712
原创 JAVA数据传输使用AES加解密数据
高级加密标准(AES) 是一种对称分组密码算法,由美国国家标准与技术研究院(NIST)于2001年正式采用,用于替代DES算法。关键特性:对称加密:加密和解密使用相同密钥分组密码:固定长度数据块处理(128位)密钥长度:128位、192位或256位轮数:根据密钥长度确定(10、12或14轮)
2025-12-05 15:09:19
1109
原创 JAVA获取一个LIST中的最大值
Voucher max = list.stream().max(Comparator.comparing(Voucher::getAmountCny)).orElse(null);
2025-12-05 09:47:39
379
原创 java对象和JSON对象之间的转换关系
一、JSON 字符串转换成 JAVA实体对象Voucher voucher = JSON.parseObject(DataStr, Voucher.class);二、JSONArray 转化为JAVA的LISTList<Voucher> voucherList = JSONArray.parseArray(DataStr, Voucher.class);三、对象转换成JSON字符串JSON.toJSONString(obj)四、JSON字符串转换成JSON对象JSONObject
2025-12-05 09:37:21
863
原创 JAVA日常开发技术点总结
一、redisTemplate的使用二、redsiTemplate 分布式锁工具类三、JAVA list 使用 stream的操作获取列表元素最大值四、使用 Wrappers.lambdaUpdate数据库逻辑删除
2025-12-01 15:11:25
1002
原创 Mybatis-plus的IService<T>接口
应用程序沟通与数据库沟通的桥梁Mybatis-plus的IService<T>接口在使用spring+mybatis的项目中,Mybatis就是用来处理应用与数据库交互的包括增删查改,Mybatis-plus提供了IService<T>接口供应用程序进行调用
2025-11-28 16:28:09
404
原创 JDK8以后3个LTS 版本的新特性的变化
Java 8 是一个里程碑式的版本,但在此之后,Java 改变了发布节奏,每六个月发布一个版本,这使得新特性来得更快、更密集。 每三年会指定一个版本为长期支持版,企业级应用通常选择 LTS 版本。JDK 8, 11, 17, 21 是主要的 LTS 版本。
2025-11-28 14:25:17
689
原创 postgresql 和MySQL 对比详解
对于大多数标准的 Web 应用、创业公司初期项目,MySQL 是一个安全、高效且省心的选择。它的简单性本身就是一种优势。如果你的项目涉及复杂的数据结构、需要高度的自定义、或者你预计未来会需要超越简单 CRUD 的功能(如全文搜索、地理查询、复杂分析),那么从长远来看,投资 PostgreSQL 会带来更大的灵活性和更低的技术债。
2025-11-21 11:41:00
871
原创 redis场景三个场景问题雪崩,击穿,穿透问题和解决思路
问题类型 核心问题 关键区别 核心解决方案雪崩 大量Key同时失效或缓存服务宕机 问题规模大,涉及大量不同key 差异化过期时间、高可用集群、服务降级击穿 单个热点Key在失效瞬间遭遇高并发 问题规模小,但目标key非常热 互斥锁、逻辑过期、热点数据永不过期穿透 查询数据库中不存在的数据,绕过了缓存 数据本身不存在,可能是恶意攻击 缓存空对象、布隆过滤器、接口校验
2025-11-21 10:30:01
1356
原创 Redisson 框架使用redis分布式锁
在 Redis 单实例或哨兵模式下,如果主节点宕机,即使有从节点,也可能因主从异步复制导致锁丢失(客户端A在主节点拿到锁,但锁还未同步到从节点,主节点就宕机了,从节点升级为主后没有这把锁,客户端B又能获取锁)。
2025-11-21 10:02:36
442
原创 Spring Cloud Gateway解析和用法
Spring Cloud Gateway 的核心工作原理基于三个概念:路由、断言 和 过滤器。路由:网关的基本构建块。它由一个 ID、一个目标 URI、一组断言和一组过滤器组成。如果断言为真,则匹配该路由。断言:这是 Java 8 中的 Predicate。它用于匹配 HTTP 请求中的任何内容(例如 headers、参数、方法、路径等)。如果请求与所有断言匹配,则该路由被选中。过滤器:这是 GatewayFilter 的实例。你可以在请求被路由之前或之后,使用过滤器修改请求和响应。
2025-11-21 09:37:21
1279
原创 nginx 各个模块和用法详解
Nginx 的强大源于其模块化架构。理解这些核心模块及其相互关系是掌握 Nginx 的关键:核心模块 & Events 模块:是 Nginx 高效运行的基石。HTTP 核心模块:是配置 Web 服务的主体,其中 server 和 location 块是核心中的核心。代理 & Upstream 模块:是实现反向代理和负载均衡的利器。Rewrite 模块:提供了强大的 URL 操控能力。SSL 模块:是现代 Web 服务安全的保障。
2025-11-21 09:27:34
1257
原创 YAML文件数据类型
YAML 是 YAML Ain't Markup Language 的递归缩写。它最初的意思是 "Yet Another Markup Language",但后来为了更准确地反映其以数据为中心的特性,改成了现在的名字。
2025-11-19 15:33:48
695
原创 通过注解指定 JSON 字段与 Java 属性之间的映射关系。
Jackson 是 Java 生态系统中事实上的标准 JSON 处理库,也是 Spring Framework 和 Spring Boot 的默认选择。属性名映射: 指定 JSON 字段与 Java 属性之间的映射关系。
2025-11-19 14:41:07
370
原创 使用RestTemplate 简化java web系统请求第三方系统
java web系统请求第三方系统,要么封装http工具类,要么使用框架中的组件 如 fegin等 RestFull风格的协议和方式。今天推荐使用 RestTemplate RestTemplate 是 Spring Framework 提供的一个用于同步 HTTP 请求的客户端工具类,它简化了与 HTTP 服务的通信过程,支持 RESTful 原则。虽然在 Spring 5 中引入了 WebClient 作为响应式替代方案,但 RestTemplate 仍然是许多项目中的常用选择。
2025-11-18 14:43:49
649
原创 StringRedisTemplate的用法详解
StringRedisTemplate 继承自 RedisTemplate,默认使用 StringRedisSerializer 来序列化 key 和 value,适合处理字符串类型的数据。
2025-11-14 10:27:30
574
原创 接口鉴权java示例和每一部分的作用
在与第三方系统对接https接口时,基本需要进行鉴权,但是个系统的鉴权方式和需要的参数又不一样。但是几乎每个系统大概都有这样的需求。
2025-11-13 11:39:29
740
原创 【管理】SMART原则是一个经典且强大的目标管理工具
SMART原则是一个经典且强大的目标管理工具,它帮助我们将模糊的愿望转化为清晰、可执行、可衡量的具体计划。无论是管理个人工作、制定项目计划,还是进行团队绩效管理,它都非常有效。
2025-11-03 11:09:35
386
原创 Spring Boot项目快速稳健架构指南
[ ] 版本:选择Spring Boot稳定版,扫描安全漏洞。[ ] 配置:建立dev/test/prod多环境配置文件,敏感信息外部化。[ ] 包结构:采用清晰的分包策略,复杂项目使用Maven多模块。[ ] 代码规范:面向接口编程,为接入配置中心、缓存等预留接口。[ ] 性能:引入缓存、异步处理,并关注数据库索引和SQL。[ ] 并发:设计无状态服务,提前规划分布式锁、限流降级方案。
2025-10-31 17:52:09
1079
原创 【管理】我的管理观-构筑卓越管理之道:从思维到行动的五大核心支柱
一、正确的政治站位,大局观,全局观 责任心,正确的做事思维方式是达成目标和有效规避风险的前提 二、技术与业务能力 扎实的技术基础能力和熟悉的业务能力 三、管理能力和协调 目标规划,任务分解,任务管理 风险把控,过程监督,目标达成 四、人员的管理问题 以规章制度流程为主,引领与指导为辅的策略激发每个成员的主观能动性和优势能力,提高工作效率 五、持续学习,不断自我革新的能力 拥抱变化,顺势而为,不断革新
2025-10-31 16:58:48
574
原创 mysql笛卡尔积怎么形成的怎么避免笛卡尔积
笛卡尔积,也称为“交叉连接”,是指两个集合(在数据库中就是两个表)中所有可能的有序对的集合。简单来说,就是第一个表中的每一行与第二个表中的每一行进行配对。
2025-10-27 11:38:41
1701
原创 【软考备考】物联网架构:感知层、网络层、平台层、应用层详解
联网(IoT)架构通常被划分为感知层、网络层、平台层、应用层四个核心层级,各层分工明确,共同实现 “物物相连、数据互通、智能应用” 的目标
2025-10-22 15:39:59
2367
原创 【1024征文】以1024之名,写我与代码的双向奔赴
又是一年的1024,作为程序员的幸运数字,1024包含的东西太多。在计算机的世界里,1024代表的是存储的大小,代表的是代码的家,代表的是程序员的辛勤劳动,还有从这1024里获取的无数的成功和喜悦。写代码的人没有人不知道1024。
2025-10-21 15:15:57
834
原创 【软考备考】论软件架构设计-范文示例
在当今数字化时代,软件系统的规模与复杂度不断攀升,软件架构设计作为软件开发生命周期中的关键环节,直接决定了软件系统的质量、性能、可扩展性与可维护性。本文首先阐述软件架构设计的重要意义,明确其在软件项目中的核心地位;接着深入分析软件架构设计的核心原则,包括高内聚低耦合、模块化、可扩展性等;然后详细探讨软件架构设计的关键要素,如架构模式选择、技术栈选型、接口设计等;最后结合实际项目案例,总结软件架构设计过程中常见的问题与应对策略,为软件架构设计实践提供参考。
2025-10-21 14:39:41
966
原创 【软考备考】 数据与文件的加解密种类详解和使用场景
数据加解密:一个广义的概念,指对任何数字信息(包括文件、网络数据包、数据库字段等)进行加密和解密。文件加解密:数据加解密的一个子集,特指对存储在文件系统中的文件进行加解密。
2025-10-21 11:45:45
1046
软件需求规格说明书模板
2023-02-01
软件项目过程文档模板汇总
2023-01-12
java统一认证中心单点登录系统源码,开箱即用
2023-08-23
SpringCloud项目测试开发环境部署文档
2023-08-21
微服务逆向生成工程源码(兼容mysql,oracle,postgresql和达梦数据库)
2023-07-31
【java面试题】java面试宝典基础知识版
2023-03-04
java怎么实现收银台
2023-10-11
springtool suite4配置 IEDA对应的maven Runer参数在哪配
2023-05-10
Thinkpad X13 windown 10笔记本 的部分 按键经常失灵.怎么解决?
2023-04-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅