- 博客(88)
- 收藏
- 关注
原创 面向切面编程(AOP)
Grep Console插件可右键选中日志高亮显示正常情况异常情况(around after和目标方法在一起,目标方法异常后,around after不执行)
2024-07-27 19:29:30 253
原创 项目打包与运行
右侧maven -> 展开要打包的项目 -> 生命周期 -> 双击package。(后面参数会传递给启动类的main方法 优先级高于在yml文件的端口号)在资源目录下输入cmd,执行以下命令即可运行(端口号为yml文件中的端口号)java -jar jar包名 --server.port=端口号。不想使用yml中的端口号时,执行以下命令即可运行。输入jar包名时,可以使用tab键补齐。java -jar jar包名。打包好之后在target目录下。
2024-07-26 16:51:32 238
原创 会话跟踪方案&拦截器&全局异常处理
Component@Override//令牌验证//验证tokentry {//解析不出错即正确,解析异常即错误//把业务数据存储到ThreadLocal中//把业务数据存储到ThreadLocal中//把业务数据存储到ThreadLocal中//放行//http响应状态码为401//不放行@Override//清空ThreadLocal中的数据。
2024-07-23 12:39:53 172
原创 增加、动态修改、批量删除
deptId插入部门号(前端遍历部门表使用下拉框,选择部门名,后端存入对应的部门号)只有String类型的需要判断不等于空字符串,其他只需判断不为null。写更新字段时,可以写出所有字段,用动态SQL进行判断有没有。foreach遍历的使用。
2024-07-21 16:10:59 246
原创 redis登录缓存
2.将登录成功的token存储到redis中。4.当密码更新成功时,需重新登录,删除旧令牌。1.pom.xml中引入redis依赖。3. 在登录拦截器中进行令牌验证。
2024-07-16 18:30:27 335
原创 创建Vue项目
选择创建路径、输入项目名、取消git勾选、选择Vue版本。创建router包,在包下创建router.js。下方终端切换到项目所在路径,输入以下命令即可运行。创建store包,在包下创建store.js。地址栏地址会多出一个#,删掉Hash即可去除。即可创建成功(项目很大,等的时间有一点长)在VsCode终端中切换到要创建项目的路径。添加vue-router、vuex。App.vue可改为(进行测试)装vue-router插件。在VsCode中打开项目。输入以下命令创建项目。
2024-04-16 10:24:41 281
原创 孤独的照片(一串字母求某个字母相邻相同连续的个数模板)
左边没有时右边个数-1 如果右边有一个或没有时取0 +右边没有时左边个数-1 如果左边有一个或没有时取0。左边个数乘右边个数 +
2022-12-19 13:58:25 248
原创 蓝桥杯的一些技巧
n的位数大于等于3位 全部输出 不够三位前面补空格。n的位数大于等于3位 全部输出 不够三位前面补0。输出一个数+%并且小数点保留0位 printf("%.0f%%",c);3.int类型能表示的最大数为2147483627 2.14*10^9。输出double类型 可用f 输出精度会在函数内处理并不会丢失。用编译器把它打印出来 赋值到word文档使用替换功能。
2022-11-06 11:31:00 350
原创 字符串的读入(char与string)
求string类型的长度用s.size() 这时可用for循环输出(即s[i]样式输出)scanf("%s",s);getline(cin,s)会获取前一个输入的换行符,需要在前面添加读取换行符的语句getchar()输出还可使用 printf("%s",s.c_str());需在前面加一个getchar();不能读入空格 制表符 换行符 并且必须这两个搭配使用。不能读入空格 制表符 换行符。
2022-10-26 18:01:01 1910
原创 求数组长度
或strlen(数组名) C++包含在头文件#include C包含在头文件#includeint类型数组 sizeof(数组名)/sizeof(int)char类型数组 sizeof(数组名)
2022-10-26 17:59:11 84
原创 二分图(染色法、匈牙利算法)
二分图:顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。性质:一定不含有奇数环,可能包含长度为偶数的环, 不一定是连通图。
2022-10-22 10:24:09 157
原创 最小生成树(Prim普利姆算法、Kruskal克鲁斯卡尔算法)
其基本思想是:假设连通网G=(V,E),令最小生成树的初始状态为只有n个顶点而无边的非连通图T=(V,{}),概述图中每个顶点自成一个连通分量。在E中选择代价最小的边,若该边依附的顶点分别在T中不同的连通分量上,则将此边加入到T中;意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(Vertex ),且其所有边的权值之和亦为最小。),图论中的一种算法,可在加权连通图里搜索。堆优化版prim与Kruskal用于。堆优化版prim太麻烦 不用学 直接用。
2022-10-20 18:29:38 275
原创 Floyd
在priority_queue[HTML_REMOVED], greater[HTML_REMOVED] > heap;初始化dist, 松弛dist[x.b] = min(dist[x.b], backup[x.a]+x.w);注意连锁想象需要备份, struct Edge{inta,b,c} Edge[M];for n次循环 每次循环确定一个min加入S集合中,n次之后就得出所有的最短距离。初始化距离数组, dist[1] = 0, dist[i] = inf;将不在S中dist_min的点->t。
2022-10-16 20:19:40 271
原创 Bellman-Ford与spfa算法
是求含负权图的单源最短路径的一种算法,效率较低,代码难度较小。其原理为连续进行松弛,在每次松弛时把每条边都更新一下,若在 n-1 次松弛后还能更新,则说明图中有负环,因此无法得出结果,否则就完成。3.从起点开始枚举每个点的所有子节点,设父节点到子节点的距离为s,父节点到起点的距离为dist[u],子节点到起点的距离为dist[v],如果dist[u]+s
2022-10-16 18:03:16 509
原创 BFS(宽度优先搜索、广度优先搜索)
算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。BFS算法常用于求最短路径或者求扩散性质的区域问题。(3)棋盘上某个棋子N步后能到达的位置总数。(2)数字按规则转换的最少次数。(5)图像中连通块的计算。(如果符合,将该点入队)。(初始化队列和所求的值)
2022-10-15 11:20:25 1327
原创 DFS(爆搜、深搜)
DFS俗称爆搜,深搜。DFS对应的流程是一个树的结构,DFS的精髓在于递归求解的思路以及回溯的处理。针对搜索的过程,又有重要的剪枝优化。必要的剪枝优化对DFS的顺序执行有很大的作用。DFS的过程就是沿着树的深度遍历树的节点,尽可能深的搜索树的分支,当节点v的所在边都搜过,搜索回溯到发现节点v的那条边的起始节点。DFS使用的数据结构是栈,时间复杂度是O(n),DFS不具有最短性,也就是DFS搜到的路径不一定是最短路。
2022-10-13 21:17:32 596
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人