- 博客(21)
- 收藏
- 关注
原创 Java8 Stream流:过滤、归约与并行计算
Stream流是 Java8 引入的一个的新的API,用于以声明式编程风格高效处理集合、数组或I/O资源等数据。通过链式操作的方式对数据进行计算,最终产生结果。
2025-04-04 16:39:30
802
原创 MyBatis:开源、轻量级的数据持久化框架
MyBatis是一个优秀的半自动化持久层框架,简化了数据的操作,同时又保留了对SQL的高度自定义,兼容了灵活性和易用性,便于我们的开发。
2025-04-03 19:17:09
1229
原创 基于SpringAOP面向切面编程的一些实践(日志记录、权限控制、统一异常处理)
我们了解到了AOP面向切面编程的思想,接下来通过一些实践,去更加深入的了解我们所学到的知识。
2025-04-01 19:36:45
1071
原创 Maven:Java项目构建与依赖管理工具
Maven 将项目开发过程和管理过程抽象成一个项目对象模型(POM),本质上是一个项目管理工具。Maven 主要用于Java项目的依赖管理、编译、测试、打包和部署等操作。Maven的核心设计围绕标准化和自动化,通过一系列约定和抽象简化项目构建与管理。
2025-03-30 17:49:57
947
原创 Spring框架中的IoC(控制反转)
简单来说,IoC是一种设计思想,它的目的是为了解耦。它的目的是为简化我们在开发过程中自我创建、管理对象的过程。
2025-03-28 18:32:32
757
原创 Spring框架中的AOP(面向切面编程)
AOP是一种编程范式,旨在通过关注模块间的切面,将不同模块中复用的部分进行解耦提取,提升代码的模块化。
2025-03-28 17:27:02
784
原创 权限系统设计方案实践(Spring Security + RBAC 模型)
本文将介绍中大型项目中常用的一套权限系统设计方案,通过 SpringSecurity 安全管理框架,并结合 RBAC 模型进行数据模型设计,可以完成一个较为完整的权限系统
2025-03-04 21:25:57
1104
原创 后端 PDF 生成方案(OpenPDF + Thymeleaf)
后端 PDF 生成方案(OpenPDF + Thymeleaf):企业项目中可能存在需要生成一些 PDF 报表的功能,需要后端提供一个下载 PDF 的接口,本文将介绍通过采用 OpenPDF + Thymeleaf 的技术方案来解决该问题。
2025-02-28 16:29:41
751
原创 参数断言(Assert+Jakarta Validation)
在日常做项目中,我们需要进行大量的参数校验操作,通过使用大量的 if 判断进行参数校验会导致代码的可读性存在问题。所以我们考虑引入Assert断言和Hibernate中的@Validator注解用于参数校验和参数约定。
2025-02-26 14:23:04
489
原创 常用的BeanUtils(对象转化)
探索常用工具类BeanUtils,该工具类用于Bean对象间的属性拷贝。本文列举常用BeanUtils工具类,并进行对比解读。
2025-02-26 11:15:06
717
原创 基于 TDD(测试驱动开发)的一些思考
测试驱动开发 (Test Driven Development, 简称 TDD) 是敏捷开发中的一项核心实践和技术,也是一种软件开发方法论。
2025-02-23 23:44:50
808
原创 【设计模式】23+1种设计模式合集(附代码辅助理解)
一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
2024-10-27 20:12:15
1168
原创 Educational Codeforces Round 168 (Rated for Div. 2)部分题解A~D
Educational Codeforces Round 168 (Rated for Div. 2)部分题解A~D
2024-07-31 00:35:20
458
原创 Pinely Round 4 (Div. 1 + Div. 2)部分题解A~E
Pinely Round 4 (Div. 1 + Div. 2)部分题解A~E
2024-07-29 02:36:19
738
原创 Codeforces Round 956 (Div. 2) 部分题解A~C
给定操作,可以选择一个矩形的一条对角线上的两个端点,让他们加1/2;另一条对角线的端点值加2/1,然后对这些值取模3。考虑网格的边上的值,边上的值的变化会受到其他的影响,所以我们优先去找如何让边上的值相等即可。所有j的aj之和可以被k整除,其中j是k的倍数,k的取值为1~n。问如何分配蛋糕,使三个人获得的蛋糕价值均高于蛋糕价值和的三分之一。给定a和b两个网格,网格中只存在0、1、2三种值。三个人吃蛋糕,每个人对蛋糕不同位置有自己的估价。正扫一遍,反扫一遍,然后比较数组即可。分类讨论:三个人拿蛋糕的顺序。
2024-07-08 02:24:29
878
原创 SpringAI初体验
Spring AI :: Spring AI 参考手册 --- Spring AI :: Spring AI Reference旨在简化java开发人员将 AI 功能集成到应用程序中。作为java开发人员,不需要理解AI背后的知识,只需要对他们在AI系统中的角色和功能有基本的了解和认识,正确使用即可。
2024-07-07 00:34:37
2726
原创 EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2)部分题解A~C
首先我们可以观察到,每次操作选择不同索引,加的数目均为1,可知产生的贡献为k,支付k+1个硬币。这个贡献k为我们选取的个数,所以我们要让整组序列变成非递减的过程中,只有k+1中的1会产生额外价格,我们最小化这个1的数量即可。我们可以发现,对于每一朵花,我们只需要观察他右侧的花的高度,以及右侧花什么时候倒即可将答案转移过来。所以我们每次操作时,尽可能大的选择k的值,然后常数1的数量应该为需要改变最多的值的数量。每秒钟,风从左边吹来,导致hi>hi+1的花的高度降低1。求最小经历多长时间,所有花的高度均为0。
2024-07-01 02:38:12
1406
原创 Educational Codeforces Round 167 (Rated for Div. 2) 部分题解A~D
Educational Codeforces Round 167 (Rated for Div. 2)部分题解A. Catch the CoinB. Substring and SubsequenceC. Two MoviesD. Smithing Skill
2024-06-29 01:18:38
1718
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人