自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法模板整理

裴蜀定理:若 a,b 是整数,且 (a,b)=d,那么对于任意的整数 x,y, ax+by 都一定是 d 的倍数,特别地,一定存在整数 x,y,使 ax+by=d成立。解决方法:mid指针取(l+r+1)/2,小于等于这个数的解时左指针取mid,不再取mid+1,右指针取mid-1,循环条件为l<r,这样当跳出循环时l指向的数就是最小值。1.每一个集合用树来维护,每一个集合的编号是根节点,查找是去看他爸爸是不是根节点,不是再向上,所以每一个节点都要存储他的父节点,p[x]就是x的父节点。

2024-03-18 17:44:09 698

原创 本科期间做过的三个JAVA开发项目的概述(后端)

​ 重写usernamepasswordfilter过滤器会导致全局异常处理的拦截器无法拦截到抛出的异常;解决办法是新添加一个controller在控制层,登录逻辑直接复制UsernamePasswordAuthenticationFilter即可。​ 该登录用的是账号密码的登录,但是加了个验证码登录,验证码要放在security判断登录的本质就是看SecurityContextHolder.getContext().getAuthenticaition()里是不是null​ 由于是前后端分离。

2024-03-18 17:27:15 676

原创 spring框架集成:全局异常处理类无法捕获springsecurity抛出异常的问题

在使用框架集成时,通常我们会使用全局异常处理类来捕获产生的异常;但在集成springsecurity时,我们遇到了这样的问题:重定义登录逻辑、重写UsernamePasswordAuthenticationFilter类时,里面抛出的的异常不会被全局异常处理类捕获。

2022-09-03 11:55:24 2326 5

原创 开启Mysql主从复制

为了缓解服务器的压力,在开发中我们可以实现读写分离,这样的话就需要在Mysql中开启主从复制。开启主从复制

2022-06-29 20:52:53 672

原创 常见算法模板

1.快速排序void qsort(int a[], int l, int r) { if (l >= r) return; int i = l - 1, j = r + 1, x = a[l + r >> 1]; //i j保证在每次循环中都能移动,如果不写do,当i和j指向的数据相等时,i和j将会死锁不移动 while (i < j) { do i++; while

2022-04-10 15:24:58 133

原创 Springboot:异步任务的多线程管理

在之前ssm的博客中就已经讲过,在日常的项目开发中,我们免不了会遇到高并发或者占用资源比较多的操作,此时使用多线程并发解决这些问题可以提高程序的运行性能;然而仅仅使用线程池管理线程会有一些弊端,虽然线程池能够解决对象资源浪费的问题,但是没有统一维护所有的异步任务。所以我们在日常编写代码时,要有一个可以统一维护所有异步任务的方法。线程管理步骤如下:一.线程池配置在yml配置文件中配置线程池需要的配置:spring: task: execution: pool

2022-03-28 22:55:41 1084

原创 ssm框架集成:使用线程池优化性能

在日常的项目开发中,我们免不了会遇到高并发或者占用资源比较多的操作,此时使用多线程并发解决这些问题可以提高程序的运行性能。1.线程的概念 下图显示了一个线程完整的生命周期。...

2022-03-07 17:46:44 731

原创 基于maven项目的SSM框架集成核心配置文件解析

在spring+springmvc+mybatis框架集成中,配置文件往往是最基本且繁琐的部分,但完全掌握了配置文件,就等于了解SSM集成框架的原理,接下来我将对SSM框架的配置文件及对应功能做一些总结。1.pom.xml该文件是maven项目的核心配置文件,主要用于从maven中央仓库引入依赖,不再过多赘述,但需要注意的是该文件中要引入加载xml文件的配置: <!--加载xml文件--> <build> <resources>

2022-03-01 23:41:51 475

原创 spring框架全注解开发常用注解

@Value: 将配置文件的数据注入到属性中.(一般类型的属性)@PropertySource: 加载property文件内容 @Component: 将对象放入容器中 @Controller:@Service:@Repository:@AutoWired: 自定义类型的依赖注入@Resource与自定义配置类相关: @Configuration: 配置类 等价于一个核心配置文件@Bean: 一般在配置类里面 手动的将对象放到容器中@ComponentSc.

2022-01-13 14:19:30 69

原创 关于idea提示 Incorrect string value: ‘\xE7\x94\xB7‘ for column ‘gender‘ at row 1 Query: 的解决

通常报此类错误是idea集成数据库的编码格式出了问题:解决方法如下:1.设置字段编码格式2.在jdbc配置文件中添加characterEncoding总而言之就是要保证数据库的编码格式与maven项目一致...

2021-09-16 10:45:07 2097

原创 使用sort函数排序结构体或类

我们假设需要对一个结构体进行排序,例如:struct candy{ int v; int w;} candies[110];需要对此结构体以v/w的大小进行排序;c++的STL库函数给我们提供了一个排序函数sort;但要使用sort函数进行排序,我们有以下两种方法。一 .重载比较运算符我们可以对比较运算符进行重载:struct candy{ int v; int w; bool operator<(const candy& c)...

2021-08-26 10:35:27 349

原创 JDBC:使用数据库连接池获取对mysql数据库的连接

在进行JAVA开发时,我们免不了要对数据库进行操作,此时就需要我们的程序获取数据库的连接。 在一般的连接方式中,我们需要加载驱动,并使用connection类加载数据库连接;但数据库连接池给我们提供了一个geng'we ...

2021-08-08 18:45:23 564

原创 使用高效字节流BufferedOutputStream提高上传文件的效率

我们使用JAVA中的流操作来对输入的文件进行上传,目的为:1.上传图片路径---->用户提交2.读取用户上传文件的数据3.写入目标文件中(文件服务器----> 目录下(维护所有用户上传的文件)---> 2021-07-25 2021-07-26 ) 在对大文件进行上传操作时,我们使用普通字节流往往效率较低,此时我们采用高效字节流来对普通字节流进行替换。普通字节流与高效字节流的一大区别是高效字节流自带一个byte[8...

2021-07-26 00:05:14 1196

原创 JAVA--使用DateFormate类将date变量与string互相转换

Date转换为String使用dateformat类中的format方法转换 但创建的是SimpleDateFormat对象,目的是先将Date格式化 private static final String PATTERN = "yyyy-MM-dd HH:mm:ss"; public static String dateConvertToStr(@NonNull Date date) { DateFormat dateFormat=new SimpleDateFormat

2021-07-19 14:34:37 479

原创 POJ1724:寻路问题

该题是个图论使用邻接表存放图使用DFS搜索解决;但尤其注意需要剪枝#include<iostream>#include<vector>#include<cstring>#include<math.h>using namespace std;int K, N, R;struct Road { int d, L, t;};//使用邻接表存放图vector<vector<Road>> G(110); //一维

2021-07-16 15:44:03 89

原创 二分归并排序

时间复杂度为:o(nlogn)算法思想: 1.把前一半排序 2.把后一半排序 3.把两半归并到一个新的数组,然后拷贝回原数组源代码:void mergesort(int a[], int s, int e) { //分治 if (s < e) { int m = (s + e) / 2; mergesort(a, s, m); mergesort(a, m + 1, e); merge(a, s, e); }}void merge(int a[], int s

2021-06-23 17:40:04 70

原创 使用位运算方法简化POJ1222熄灯问题

1、问题分析题目给出一个5x6的01矩阵,0表示该位置的灯是熄灭的,1表示该处的灯是开着的,题目要求给出一种熄灯方案使得最后按下按钮后所有的灯都被熄灭。这里按下某处的按钮并不是只有该处的灯被熄灭或开启,而是如果它周围的灯(如果有的话)的状态都会反转(原来开着的灯熄灭,熄灭的灯开启)。具体的描述见原题。题目地址原题目2.问题求解此题可以直接采用枚举的方法,且直接枚举第一行情况即可,枚举第一行情况,下面行的情况就已经确定了,最后我们判断最后一行的灯是否全灭即可。3.使用位运算简化运算在其他博客中或许已

2021-06-07 19:58:09 112

原创 数据库查询之多行函数与多表查询

一.多行函数数据库里的多行函数可以对数据库的多个行进行操作。常用组函数:avg(input):求平均值,例如:select avg(age) from student;#计算学生平均年龄,包括重复的年龄max(input):求最大值,例如:select max(age) from student——获取学生表中最大年龄min(input):求最小值,例如:select min(age) from student——获取学生表中最小年龄sum(input):求和,例如:select s

2021-04-28 16:16:47 703

转载 动态规划经典问题:01背包问题

问题重述:有N件物品和一个容量是 W的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数vi,wi,用空格隔开,分别表示第ii件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<N,V≤10000&...

2021-04-26 18:41:58 285

原创 Mysql数据库的单表查询

我们在使用Mysql数据库存储数据时,对数据的查询方法是至关重要的,此博客主要介绍Mysql数据库的查询数据方法。一.单表查询 单表查询就是我们仅对一个表进行查询,我们可以首先创建一个名为table的表单:create table student( id char(36) primary key, name varchar(8) not null, age int(3) default 0, mobile char(11), address varchar(150))i...

2021-04-22 11:52:38 425

原创 如何不使用指针实现单链表

在数据结构中,链表的插入和删除要比数组方便许多,但通常我们接触到的单链表都是使用指针实现的单链表。 然而在算法竞赛中,指针很容易导致出错,所以下面我们来介绍一组非指针方法实现的单链表。我们知道,链表的原理即为:每一个子节点都存储了下一个节点的地址,所以我们使用数组实现链表时,可以使用两个数组:char s[] 此数组为存放数据的数组int next[] 此数组对应ch[]的下标,存储的是下一个节点的下标。这样,链表就通过另一个数组next[]相互串起来了。链表功...

2021-04-06 19:35:50 947

原创 JAVA语言的流程控制

在每一种语言中,都有对应的流程控制语句,今天我们要学习的是JAVA中的流程控制语句。一.if分支语句 我们可以与c语言的语法来做一下对比,if的作用为在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码。 但尤其需要注意的是,在Java里,if分支语句判断条件里的变量必须为布尔类型;if (布尔表达式) { //布尔表达式为true时需执行的代码; }else { //布尔表达式为false时需执行的代码; }...

2021-03-26 18:19:30 90

原创 JAVA的基本数据类型

在了解了JAVA的运行原理后,接下来我们就需要了解JAVA的基本数据类型了。一.基本数据类型 基本数据类型就是JAVA中最常用到的数据类型,和c语言中的基本数据类型比较相似:比如byte、short、int、long、double、float、boolean、char等;每个数据类型在内存中分配的大小不一样,所以我们在开发中到底使用哪种数据类型要慎重思考,这关系到程序的性能。 JAVA中一些基本的数据类型:...

2021-03-19 11:32:13 136

原创 JAVA运行原理

JAVA作为一种高级语言,自然受到很多程序员的喜爱,我们从今天起也开始学习这门语言。 但是在具体学习JAVA前,我们首先要搞懂JAVA的运行原理、JAVA编译所需的环境和所需的编译器,来为我们今后的学习做准备。...

2021-03-17 11:55:39 211

原创 使用二级指针创建无头单链表的方法

//数据类型struct date{ int year; int month; int day;};typedef struct gamemessage{ int ID; char name[20]; struct date issuingdate;}GM;//链表结点类型struct node { GM data; //链表节点存储的数据 struct node* pnext; ..

2021-03-11 20:08:37 203

原创 HTML学习记录:使用HTML与CSS模仿新浪网页面

上次我们使用HTML对新浪页面的导航栏进行了模仿,这一次我们打算更进一步,模仿整个页面。 由于新浪的页面创建的比较早,所以仅仅用静态的CSS样式和HTML就可以全部实现; 我们要模仿的界面如图:此网页我们可以分为三部分:1.头部2.内容3.尾页所以为了系统的把控全局页面,我们先写出大致的轮廓,并且在每一个部分加上边框方便观看:<!DOCTYPE html><html> <head> <meta ...

2020-12-03 22:54:33 3494

原创 HTML学习记录:使用HTML静态网页代码模仿新浪网导航栏

作为小白,我今天尝试使用HTML代码对新浪投资者关系网的导航栏进行模仿。网站界面如图:我今天想要模仿的是新浪网的导航栏部分:我们可以先对此导航栏进行简单的分析:导航栏主要是使用list标签做出,中间加了下划线的,我们可以首先使用<ul>无序列表标签填充一些内容:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title&

2020-11-27 22:32:54 2781

原创 2020-11-23日刷OJ遇到的问题

题目为1118有序数组的添加,卡了我好久;我把此题分作三个函数写:主函数,输出函数和插入函数:输出函数printarr:void printarr(int a[],int n){ int i; for(i=0;i<n;i++) { printf("%d",a[i]); if(i<n-1) { printf(" "); } } }主函数:int main(){ int i,n,a[1000],num; scanf("..

2020-11-23 21:08:23 179

原创 HTML学习记录:HTML基本标签总结

在学习web技术时,最基础的东西便是HTML;作为刚入坑的小白,我对于我所学习过的HTML基础知识进行系统的总结。一.行内元素和块级元素 1.行内元素行内元素顾名思义,就是当我们写入标签时,元素的长度和宽度只包裹内容,不会自动换行;常见的行内元素有以下几种,我们不妨举一些实例: <b>百度</b> <!--加粗--> <i>百度</i> <!--斜体--> <del>百度&lt...

2020-11-18 13:55:49 223

原创 2020-11-11刷OJ遇到的问题

对HAUT OJ:1101逆序数字和1106回文数的笔记。题目如图:通过分析两题的题意,我们可以得出,只要可以写出可以输出逆序数字的函数,如输入1234,输出4321,我们就可以简单的得出该两题的解。在此我们只讨论子函数,我们采用第一种方法,即先判断输入数的最大位权,然后以循环的方式依次将取模所得数乘以相应的位权:int inverse(int n){ int k=1,i=0,j,sum=0; while(n/k>10) //判断n的位权 { i++;

2020-11-11 21:29:24 199

空空如也

空空如也

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

TA关注的人

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