自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Shell脚本学习总结

shell脚本学习总结

2021-12-28 12:01:23 1723

原创 从数据结构上理解联合索引

​我在上一篇MySQL底层数据结构选用B+树的原因文章中解释了MySQL为什么要用B+树保存索引,对于用单列创建的索引来说,我们可以很好地理解他是如何构建出B+树的,但是如果是用多列创建的联合索引呢,他又是如何构建出B+树的呢?

2021-12-15 14:06:18 1384

原创 MySQL底层数据结构选用B+树的原因

我们都知道MySQL底层数据结构是选用的B+树,那为什么不用红黑树,或者其他什么数据结构呢?

2021-12-13 11:32:41 906 1

原创 Java实现快速排序算法(含图,注释超详细)

快速排序算法简单地说就是找一个基准数,比基准数大的数就放在基准数右边,比基准数小的就放在基准数左边,然后分别对基准数左边的序列后右边的序列进行前面的步骤,直到分出来的序列长度为一。 而想要实现上面的步骤需要提取三个关键点,基准数,队首索引,队尾索引。为了方便,我们每次都可以以序列最左边的数作为基准数,然后队首索引和队尾索引一开始分别是序列开头位置和序列结束位置,我们可以拿队尾元素与基准数比较,比基准数大那对尾索引就向前移动,比基准数小就将这个元素插入到队首位置,之后队...

2021-11-14 23:42:08 5809

原创 Java实现归并排序算法(含图,注释超详细)

归并排序的思想就是通过合并两个小的序列使合并后的大的序列有序。讲详细一些就是,合并两个序列,因为这两个序列都是通过合并得到的,所以这两个序列内部都是有序的,那么就可以先比较两个序列的开头元素,谁小谁就先进入合并后的序列中,然后指针后移继续比较,如果有一个序列的元素已经全部进入了合并后的序列当中,那么就可以直接把另一个序列剩下元素直接追加到合并后的序列中了,最终将合并完全有序的一个序列。代码实现:public class MergeSort { public static...

2021-11-12 23:37:34 1472

原创 Java实现希尔排序算法(含图,注释超详细)

希尔排序是首个O(n^2)的排序算法,他是对前面说到的插入排序的改进版。下面就来看看它究竟是怎么进行排序的吧。 希尔排序就是先定义一个增量,然后根据这个增量将几个元素分成一组,最终可能会得到很多个组,在组内进行插入排序,每个组都完成排序后再缩小增量,再排序,直到增量为1,也就是所有排序都成为了一组,这个时候就变成了最简单的插入排序了。接合图来将,第一遍,84,50为一组,83,70为一组,88,60为一组,87,80为一组,61,99为一组,然后在组...

2021-11-07 15:30:36 3839 1

原创 Java实现插入排序算法(含图,注释超详细)

插入排序的思想很简单,我们可以把需要排序的数组分成两个序列,一个是已排序的序列,另一个是还未排序的序列,我们只需要取出未排序序列中的第一个元素,再与已排序序列的元素进行逐个比较,遇到比这个元素大的元素,就让这个大的元素往后移,遇到比这个元素小的元素,那就证明前面的所有元素都比这个元素小,就不需要再进行后面的比较了,直接插在这个小的元素后面就行了。代码实现:public class InsertionSort { public static void main(Strin...

2021-11-05 11:26:16 832

原创 Java实现选择排序算法(含图,注释超详细)

选择排序的思想就是在未排序序列当中找到最小的数,然后把它放到已排序序列的末尾(也就是与未排序序列开头的数交换位置),重复这样的操作,未排序序列的数都进到入了已排序序列当中,排序也就结束了。我们可以找到两个关键点,一个是找到未排序序列中最小的数,我们需要遍历为排序序列去得到它,另一个是已排序序列的末尾,每次将未排序中最小的数放进已排序的末尾之后,那么这个末尾的位置就要同步更新。代码实现:public class SelectionSort { public static...

2021-11-04 22:06:53 2915 2

原创 Maven手动添加依赖包

大家都知道使用maven来下载我们的jar包是非常方便的,但是有的时候我们需要使用本地已有的jar包,而不是去网络仓库下载,以前没有用maven管理我们的项目的时候只需要直接拷过来就行了,但是现在使用了maven,那要怎么将我们下载好的jar包手动添加进去呢?非常简单,首先进入控制台,然后直接输入指令:mvn install:install-file-Dfile=/C:/xxx/xxx.jar-DgroupId=groupId-DartifactId=artif...

2021-11-04 21:42:20 1836

原创 Java实现冒泡排序算法(含图,注释超详细)

简单地说,冒泡排序算法的思想就是比较相邻的两个数,如果第一个比第二个大,那就交换他们的位置,然后依次这么比较下去,知道最后一个。需要注意的是,第一轮比较完成之后,倒数一个数一定是最大的,第二轮比较之后,倒数第二个数一定是第二大的,依次类推,所以后续的比较中,就不需要再将他们考虑在内了。代码实现:public class BubbleSort { public static void main(String[] args) { //定义数组 int arr..

2021-11-04 13:15:00 1062 1

原创 多表查询--使用Mybatis+自定义注解+Java反射+Spring AOP实现简单的多表查询

引言在我们的开发过程中,经常会遇到多表查询的情况,比如说我要查一个学生的信息,同时要查询学生的所在院系,但是学生表里面只存放了院系的id,院系的名称保存在院系表里面,这个时候可能就会需要去建视图,或者是自己新写一个SQL语句,然后新建一个实体类来保存查询结果信息。但是这样的方法都比较麻烦,做多了越来越觉得多表查询是个麻烦事,所以这里就介绍另一种方法来解决多表查询,这种方法虽然前期准备工作比较多,但是在后续的多表查询业务中可以节省很多时间,而且前期准备工作只需要做一次,后续的项目可以直接照搬。使用的技

2021-11-03 22:27:48 481

原创 Oracle序列的创建和基本使用

创建直接上sqlcreate sequence name_seq #创建名为NAME_SEQ的序列minvalue 1 #最小值为1maxvalue 999999 #最大值为999999start with 1 #从1开始increment by 1 ...

2021-11-03 16:36:44 810 1

原创 通用权限管理系统项目简单介绍

目录基本信息部分功能的实现认证和授权总体功能介绍基本信息演示地址:Spotlight Automobile Ltd. APS登录账号:123456 登录密码:123456仓库地址: 后端:通用权限管理系统(back): 通用权限管理系统后台--重庆工程学院陈文豪 前端:陈文豪/通用权限管理系统(front)技术栈:SpringBoot、vue、ant-design、MySQL、Mybatis-Plus、Redis。部分系...

2021-11-03 13:51:32 1316

原创 Java反射的基本使用

基于反射初始化对象Class<?> aClass Class.forName("类的路径");返回类的class对象(类的信息)User user = (User) aClass.newInstance();newInstance默认调用无参构造函数,也可以通过Constructor提前获取其他有参构造函数,以此来调用有参构造函数Constructor<?> contructor = aClass.getConstructor(Integer.class,S

2021-09-30 09:22:12 139

空空如也

空空如也

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

TA关注的人

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