自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 网络流24题(8/24 待更新 码风良好可做代码参考)

网络流24题(8/24 待更新 码风良好)

2024-09-12 21:01:17 1150 1

原创 Codeforces Round 964 (Div. 4)全部题解

Codeforces Round 964 (Div. 4)全部题解

2024-08-07 02:12:39 958 1

原创 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

原创 Codeforces Round 954 (Div. 3)部分题解A~D+F

A-D+F题解

2024-06-24 01:41:09 786 1

空空如也

空空如也

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

TA关注的人

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