自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

晴空๓

大家好!我是晴空๓,欢迎大家来到我的blog。

  • 博客(213)
  • 资源 (2)
  • 收藏
  • 关注

原创 Spring依赖注入方式

依赖注入(DI) 作为 Spring 核心理念之一,贯穿于整个框架的使用之中。通过依赖注入,Spring容器在创建一个对象时,会自动将这个对象的依赖注入进去,就不需要程序员主动通过 new对象 的方式进行对象创建。Spring 通过依赖注入机制打破了传统编程中对象之间紧密耦合的局面,让各个组件能够更加独立、灵活地进行开发、测试和维护,为构建复杂而稳定的软件系统奠定了坚实的基础。Spring 框架提供了多种依赖注入方式,本文主要介绍一下 Spring 框架中各种依赖注入的方式。

2025-02-11 22:58:05 842

原创 Spring Boot项目如何使用MyBatis实现分页查询

分页查询是一种常见的数据库查询技术,用于将查询结果分成多个页面展示,而不是一次性返回所有数据。使用分页查询主要是为了减少数据库压力、减少网络传输数据量、提高系统的稳定性、提高客户体验。

2025-01-31 01:43:43 2006

原创 如何查看特定版本的Spring源码

Spring Boot 不同版本通常对应特定的 Spring Framework 版本,例如 Spring Boot 2.x 一般对应 Spring Framework 5.x。具体到小版本,像 Spring Boot 2.7.3 使用的是 Spring Framework 5.3.22。本篇主要介绍一下如何查看 Spring Boot 对应的 Spring Framework 版本以及如何获取特定版本的 Spring Framework 源码。

2025-01-16 23:55:41 936 1

原创 自定义Java注解及其应用

在上一篇 Java注解 中主要写了注解的一些示例以及注解的组成,本篇主要介绍一下如何自定义注解以及如何将自定义的注解结合反射进行使用。

2025-01-11 19:04:52 765

原创 Java注解

框架 = 注解 + 反射 + 设计模式,要想看得懂框架甚至自己写一个框架,那么久必然会涉及到注解。注解就是给代码添加一些信息,用字符 @ 开头,这些信息用于修饰紧挨着的其他代码元素(比如类、接口、字段、方法、方法中的参数、构造方法等)。当有了这些信息我们就可以在某些时候使用这些数据增强或者修改程序的行为。

2025-01-06 23:30:05 1030

原创 LeetCode 242. 有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词(字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次)。

2025-01-05 18:40:53 803

原创 Java反射详解(三)

之前两篇主要介绍了反射与 Class类 的关系以及通过 Class对象 我们可以获得什么信息以及可以做什么操作,还有如何通过反射获取 Class类 具体字段的信息以及具体方法的信息。本篇书接上文,继续进行梳理我们可以通过反射做什么。

2025-01-02 22:19:17 746

原创 Java反射详解(二)

获取 Class对象 之后我们就可以获取类的信息以及基于这些信息进行一些操作,也就是我们所说的 反射。本篇来逐一介绍一下我们可以通过 Class对象 执行哪些操作。

2025-01-01 22:59:03 1092

原创 Java反射详解(一)

反射在 Java 中是一种强大的机制,它允许我们在运行时发现和使用类的信息。反射被视为动态语言的关键,允许程序在运行时动态地操作类、接口、构造器、方法和字段等。通过反射的强大机制我们可以使程序能够在运行时动态地调用方法和访问字段,这可以让我们的程序更加的灵活。

2024-12-30 00:02:33 993

原创 java.util.ConcurrentModificationException异常出现的原因及解决方法

增强for循环 遍历列表时会调用 checkForComodification() 方法检查当前列表是否有并发修改,如果有则会抛出 java.util.ConcurrentModificationException 异常。

2024-12-22 00:18:27 1887

原创 Java String详解(三)

通过使用 intern() 方法可以节省内存,但是在一般情况下不要使用该方法,频繁使用该方法可能会导致 OOM 问题。因为 intern() 所使用的是 JVM heap 中 PermGen 相应的区域,在 JVM 中该区域是用来存放装载类和创建类实例时用到的原数据,垃圾收集器不会对缓存的字符串做垃圾回收。

2024-12-17 23:45:20 703

原创 Java String详解(二)

使用 + 还是 StringBuilder 拼接字符串?

2024-12-16 20:21:02 1083

原创 Java String详解(一)

对于Java来说String对象可以说是使用最频繁的,字符串对象在内存中占据了最大的空间快。我们平时在编程的时候经常使用String,也最容易忽略对于String的认识,因此深入的认识String有助于我们写出的代码更高效更安全。

2024-11-26 22:38:43 721

原创 Java OVal框架

OVal 是一个轻量级、易于集成和扩展、灵活且具有丰富验证器的 Java 验证框架,它基于面向对象的模型,可以用于验证任何 Java 对象的属性。OVal 提供了丰富的验证规则和强大的验证功能,使得开发者能够简单而又灵活地验证数据。

2024-06-19 00:10:53 1055

原创 软件设计模式概述

设计模式是一把双刃剑,利用的恰当可以让我们的系统变得更加灵活、健壮、优雅。但是如果滥用设计模式会使我们的系统变得更加死板、脆弱。要想使用好设计模式设计出更加优雅的系统需要我们特别熟悉每一种设计模式的主要思想以及常见的运用场景。

2024-06-13 22:45:28 1269

原创 LeetCode 2923. 找到冠军 I——更好的解法

今天看了一下昨天每日一题的题解,发现了更好的解法只需要O(n)的时间复杂度就可以解出,而不是像我上一篇博客一样需要O(n^2)的时间复杂度才可以解决。具体的思路是这样的,这个本质上就是 打擂台,如果当前的队伍输了那么该队伍就不可能是冠军,所以我们只需要一开始假设 0队 是冠军,然后与 1队 进行 PK。如果 grid[1][0] == 1 说明1队获胜,那么0队就不可能是冠军。再用1队与2队进行PK,赢了就继续与3队PK,输了说明也不是冠军,再用2队与后面的队伍PK,直到与所有的队伍PK完即可得到冠军队伍

2024-04-13 11:05:16 522

原创 LeetCode 2923. 找到冠军 I——每日一题

一场比赛中共有 n 支队伍,按从 0 到 n - 1 编号。给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足 0

2024-04-12 23:05:55 624

原创 为什么忘记密码要重置密码而不是直接告诉你密码?

我们注册用户之后用户信息会被存储到服务端的数据库中,但是这个密码不是直接以明文的方式存储的,如果以明文的方式存储那就是严重的安全风险问题了。密码基本都是通过哈希算法来加密密码并保存的,例如经常使用的 MD5 加密方式。

2024-04-11 22:39:13 1271

原创 LeetCode 1702. 修改后的最大二进制字符串——每日一题

给你一个二进制字符串 binary ,它仅有 0 或者 1 组成。你可以使用下面的操作任意次对它进行修改:操作 1 :如果二进制串包含子字符串 "00" ,你可以用 "10" 将其替换。比方说, "00010" -> "10010"操作 2 :如果二进制串包含子字符串 "10" ,你可以用 "01" 将其替换。比方说, "00010" -> "00001"请你返回执行上述操作任意次以后能得到的 最大二进制字符串 。如果二进制字符串 x 对应的十进制数字大于二进制字符串 y 对应的十进制数字,那么

2024-04-10 22:31:59 1021

原创 LeetCode 2529. 正整数和负整数的最大计数——每日一题

给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。

2024-04-09 23:10:25 965

原创 POJO简介

什么是POJO?POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB(EJB是Enterprise Java Beans技术的简称, 又被称为企业Java Beans。[^1])混淆所创造的简称。POJO是Plain OrdinaryJava Object的缩写,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。

2024-03-17 18:19:49 1080

原创 自动填充MyBatis-Plus日志中的sql语句参数小工具

在我们日常开发看日志的时候总是需要把MyBatis-Plus的sql语句复制到数据库中执行,这样就非常麻烦,所以写了这个工具,可以自动填充sql语句,方便我们复制到数据库中执行。代码其实很简单就是使用正则表达式替换一下。

2024-03-08 08:05:08 663

原创 搭建GitLab私服详细步骤

搭建GitLab私服详细步骤以及搭建过程中踩的一些坑的解决方式

2023-02-27 00:18:47 1219 1

原创 作为程序员你一定要知道的工作小技巧

本博客主要记录一下自己在工作过程中学到的以及使用的工作小技巧,希望能够对大家有所帮助。如果大家有其他的小技巧欢迎在评论区评论或者私信我,感谢大家的不吝赐教。我会定期根据我学到的技巧和大家提供的小技巧补充本文章。

2021-11-05 11:25:10 3908

原创 君子终日乾乾,夕惕若,厉无咎。

 君子进德修业。忠信,所以进德也,修辞立其诚,所以居业也。知至至之,可与言几也,知终终之,可与存义也。是故,居上位而不骄,在下位而不忧。故乾乾因其时而惕,虽危无咎矣!

2021-10-24 22:51:08 749 6

原创 1024快乐!

 又到了我们程序员的节日,在这里祝大家节日快乐!感谢大家一直以来的支持与陪伴,我会继续努力,有时间就多多总结写一些高质量的博客。博客专家一直是博主的心愿,希望经过自己的努力可以成为一个博客专家。今天水一篇博客拿个1024勋章嘿嘿。最近工作实在是有点忙,有时间我一定会好好学习好好创作!谢谢大家! 君子终日乾乾,夕惕若,厉无咎。与君共勉!...

2021-10-24 19:08:48 517

原创 如何解决SVN更新时报Previous operation has not finished; run ‘dleanup‘ if it was interruptedPlease……的错误

 写在前面:大家好!我是AC-fun,我的昵称来自两个单词Accepted和fun。我是一个热爱ACM的蒟蒻。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.youkuaiyun.com/。非常感谢大家的支持。一起加油,冲鸭! 用知识改变命运,用知识成就未来!加油 (ง •̀o•́)ง (ง •̀o•́)ง文章目录问题描述解决办法问题描述 在使用 SVN 更新远程仓库中的项目的时候出现 Previous oper.

2021-09-20 17:38:55 8388 4

原创 作为一名高级开发者需要具备的技能之画UML类图

在之前的博客:如何使用IDEA画UML图 中已经详细的说明了如何使用 IDEA 画 UML图。本篇博客来详细的讲解一下 UML 的类图怎样画。在 UML 的 13 种图中,类图 是使用频率最高的 UML 图之一。作为一名开发人员画类图是必须具备的技能。类图可以帮助我们简洁明了的描述系统中的类,以及各个类之间的关系的静态视图,能够更好的帮助我们在开发系统之前对系统有一个全面的认识。

2021-07-06 18:33:20 1008 6

原创 我的程序人生

写了这么久的博客还从来没写过类似的文章,今天借此机会就写一篇吧。关于《新程序员》这本杂志我还没有看过全套的,以后有机会一定仔细拜读一下。今天借即将毕业之际来写一下我的程序人生的初始阶段,和大家聊一聊是怎样的契机让我称为一名程序员,聊一聊自己大学四年的时光以及自己技术之路的起起伏伏,分享一下自己的一些学习经验。第一次写类似的文章,不喜勿喷哈。同时谨以此文纪念自己的大学时光。

2021-06-28 21:26:22 16835 431

原创 Java集合框架源码详解系列(二)——迭代器设计模式详解

迭代器模式可以帮助我们很方便的实现集合遍历,在使用迭代器遍历时不需要知道集合对象的底层表示。迭代器模式给我们提供了一种遍历集合元素的统一接口,可以用一致的方法遍历集合元素。 如果不使用迭代器,在我们设计实现集合遍历,访问集合中的数据的时候通常将集合的创建和遍历放在同一个类中。比如数据结构中的单链表的遍历就是将创建和遍历放到了一个类中,这样不利于程序的拓展,如果链表的形式变了,需要更换遍历方法就必须要更改源码,这样就违背了 开闭原则。

2021-06-18 23:33:00 517 8

原创 如何使用IDEA画UML图

统一建模语言 (Unified Modeling Language,UML) 是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

2021-06-14 18:33:06 19026 23

原创 Java集合框架源码详解系列(一)

之前写过关于 C++ STL 的四篇文章,现在开始写一下关于Java集合框架的文章,该系列博客将会写很长时间。不管是C++的STL也好,Java的集合框架也好,这两者其实都是将一些基本的数据结构进行了封装实现,从现在开始博主将带领大家遨游在Java集合框架的源码世界,准备好了吗?Go!!!

2021-05-30 22:00:05 4057 39

原创 LeetCode 993. 二叉树的堂兄弟节点——每日一题

本题主要考察了二叉树的遍历,可以使用 宽度优先搜索 在遍历的同时使用 map 记录每个节点的值、深度以及其父节点。遍历完成之后直接进行比较即可。

2021-05-17 16:46:08 397

原创 MyBatis项目实战(2)实现插入操作

本篇主要讲述如何在上一篇博客 MyBatis项目实战(1)实现查询操作 的基础上使用MyBatis实现向MySQL数据库中插入数据。

2021-05-08 15:31:13 311

原创 MyBatis项目实战(1)实现查询操作

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

2021-05-08 10:46:08 577

原创 Codeforces 231A.Team(brute force, greedy)

大家好!我是`AC-fun`,我的昵称来自两个单词`Accepted`和`fun`。我是一个热爱ACM的蒟蒻。最近打算刷一下 Codeforces OJ的题目,一方面边学习算法边刷题,一方面也想提升一下自己的英语阅读水平。坚持就是胜利,加油!

2021-04-24 16:34:42 756

原创 第十二届蓝桥杯省赛第一场C/C++ B组真题及部分题解

第十二届蓝桥杯省赛第一场C/C++ B组真题及部分题解

2021-04-23 17:05:39 6001 17

原创 算法竞赛常用知识

本篇博客来整理一下在算法竞赛中经常用到但是可能会忘掉的知识,有些知识平时可能会记得,但是到真正算法竞赛的时候可能就会忘掉,甚至有一些很常见的知识再平时就忘掉了。但是在算法竞赛中碰到相关的题目还不得不使用这些知识,如果在算法竞赛的时候想不起来那是非常可惜的。所以来总结一下一些在刷题中常用的知识以及需要注意的地方,如果有不足或者需要补充的地方欢迎大家评论留言,博主也会随时补充更新。

2021-04-14 20:43:21 1200

原创 蓝桥杯第六届C/C++ B组真题详解

本篇博客主要写一下蓝桥杯第六届C/C++ B组真题详解

2021-04-14 20:08:07 1498

原创 试除法求数的约数

从 1 ~ n 依次枚举试除每一个数,判断该数是否可以整除 n,如果可以整除 n,说明该数是 n 的约数。试除法还可以优化一下,即我们可以发现约数都是 成对出现 的,如果 d 可以整除 n,那么 n / d 也可以整除 n。我们假设 d 与 n / d 中 d 是较小的那一个,那么 d

2021-04-11 10:54:15 531

蓝桥杯历年真题汇总(第一届到第十一届).zip

包含从第一届到第十一届的所有真题

2021-03-31

ACM算法专题讲解课件.zip

文件夹里是ACM一些常见算法的PPT课件:《Acm竞赛常用算法与数据结构》、《动态规划算法》、《南邮ACM算法与数据结构设计》、《算法分析与设计课件-动态规划法》、《算法设计与分析动态规划实例讲解》、《贪心算法》。

2020-04-19

空空如也

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

TA关注的人

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