自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis 入门到实战

黑马程序员Redis入门到实战教程视频配套资料里有《Redis安装说明》centos7;安装redis需要的gcc依赖;压缩包放在 ;默认的安装路径是在 redis-cli:是redis提供的命令行客户端redis-server:是redis的服务端启动脚本redis-sentinel:是redis的哨兵启动脚本Redis三种启动方式前台启动直接输入启动需要修改Redis配置文件(),在 目录下注意:为了避免修改配置文件出错,可以将配置文件备份一份修改 redis.conf其他常见

2026-08-28 22:06:37 224

原创 SpringCloud 微服务开发笔记

新建filters包,MyGlobalFilter类@Component@Override//获取请求//放行@Override//过滤器执行顺序,越小优先级越高return 0;要保证自定义的过滤器在 NettyRoutingFilter 之前执行,要实现 Ordered 接口一般情况下自定义 GlobalFilter 即可,自定义 GatewayFilter仅作了解涉及到工厂模式(读取配置类)和装饰模式(设置order)

2026-08-28 22:04:56 191

原创 秋招八股总结

JVM笔记(一)走进JVM除了Java以外,还有多种JVM语言,比如Kotlin、Groovy等,它们的语法虽然和Java不一样,但是最终编译得到的字节码文件,和Java是同样的规范,同样可以交给JVM处理。HotSpot虚拟机,实际上采用的是基于栈的指令集架构,而我们的传统程序设计一般都是基于基于寄存器的指令集架构。

2025-09-23 18:47:02 363

原创 Java 并发编程

黑马程序员深入学习Java并发编程java8,pom.xmllogback.xml进程和线程、并发和并行、同步和异步的概念参考课后文档注意:单核 cpu 下只有并发,多线程不能实际提高程序运行效率,只是为了能够在不同的任务之间切换;多核 cpu 既有并发也有并行,可以真正提高运行效率。方法一:直接使用Thread,用了匿名内部类的写法方法二:Runnable接口,任务和线程分开,更推荐这种写法Thread源码:run()方法里,如果指定了Runnable,就优先使用Runnable对象的run()方

2025-05-18 17:51:30 905

原创 Netty 学习笔记

黑马程序员Netty全套教程Channel 是读写数据的双向通道,Buffer是内存缓冲区,暂存数据。常见的 Channel 和 Buffer 见讲义。ByteBuffer(包括MappedByteBuffer、DirectByteBuffer、HeapByteBuffer)最常用。多线程设计:多个客户端对应多个socket,就会启动多个线程。每个线程对应一个socket连接缺点:内存占用高、线程上下文切换成本高、只适合连接数少的场景线程池版设计,缺点:阻塞模式下,线程仅能处理一个 socket

2025-04-14 09:24:04 784

原创 Docker 学习笔记

编写好了Dockerfile之后,使用 docker build 命令构建镜像注意:Dockerfile 文件必须叫Dockerfile,不能改成其他的名字将资料里的demo文件夹上传到 /root。jdk.tar最好也上传到虚拟机,否则还要下载 openjdk 基础镜像cd /rootdocker load -i jdk.tar # openjdk基础镜像docker build -t docker-demo . # 构建镜像docker ps。

2024-06-29 10:00:12 1272 1

原创 SpringBoot 搭建sftp服务 实现远程上传和下载文件

maven依赖:</</</</注:springboot自带的tomcat会限制上传文件的大小,需要在yml文件里手动设置max-file-size。

2024-06-22 21:02:30 702

原创 使用TUDataset 报错LocalFileSystem.mv() takes 3 positional arguments but 4 were given

是由于 torch_geometric 版本太高导致的如果直接 pip install torch_geometric,会下载到最新版本的torch_geometric(如2.5.3)

2024-06-10 20:25:53 884 3

原创 MybatisPlus 笔记

存在的问题:SQL语句的一部分(balance = balance - 200)出现在service层的业务代码中,违背企业开发规范。解决办法:可以利用MyBatisPlus的Wrapper来构建复杂的Where条件,然后自己定义SQL语句中剩下的部分。@Test//执行更新mapper.java,也可以使用注解方式写sql语句mapper.xml</

2024-05-29 10:00:59 225

原创 SpringBoot3 + Vue3 笔记

黑马程序员SpringBoot3+Vue3全套视频教程其他特性:内嵌的Tomcat、Jetty(无需部署WAR文件);外部化配置;不需要XML配置(properties/yml)new module,选择 spring initializr ,java版本选择17创建maven项目,骨架选择maven-archetype-quickstartpom.xmlcom.ljc下新建启动类启动类改名字:项目名+Application,添加@SpringBootApplication注解main下创建

2024-05-13 10:49:20 338

原创 决策树、随机森林

如果用pk(1-pk)来算,一般要乘以2,比如p1(1-p1) = 3/5 * 2/5,p2(1-p2) = 2/5 * 3/5,他们是对称的关系。随机森林的训练效率高于bagging(从子集选取特征,计算加快),泛化误差低于bagging(随机选取特征,各个决策树间差异变大,更不容易过拟合)。如果特征有多个离散取值,比如0,1,2,则特征按是0和不是0,是1和不是1,是2和不是2来分。C(Tt)是剪枝前的,C(t)是剪枝后的,剪枝后根结点变成了叶子结点,所以|T|=1,只剩下一个α。

2024-04-20 14:22:46 892 3

原创 SSM 学习笔记

目录设计模式Springspring入门spring的配置文件依赖注入importspring重点配置小结spring的APIspring配置数据源(连接池)spring注解开发spring集成junitspring集成web环境SpringMVCSpringMVC执行流程SpringMVC注解解析SpringMVC的xml配置SpringMVC的数据响应SpringMVC获得请求数据获得Restful风格的参数自定义类型转换器获得Servlet相关API获取请求头文件上传SpringMVC拦截器Sprin

2024-02-27 21:45:39 347

原创 JavaWeb学习笔记

原因是servlet中,能让service接口指向service实现类,方便切换不同的service实现类,避免servlet改变。install – 将项目打包(jar/war),将打包结果放到项目下的 target 目录下,同时将上述打包结果放到本地仓库的相应目录中,供其他项目或模块引用。执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。提供了一套标准化的项目结构;提供了一套标准化的构建流程(编译,测试,打包,发布……

2024-02-26 10:47:17 243

原创 JavaSE学习笔记

将构造器私有化,目的是防止直接 new去掉 setXxx() 方法,防止属性被修改在 Season 内部,直接创建固定的对象优化,可以加入 final 修饰符//描述//定义了四个对象public static final Season SPRING = new Season("春天", "温暖");public static final Season WINTER = new Season("冬天", "寒冷");

2024-02-26 10:46:25 237

原创 Layui + PageHelper 分页查询

Layui的分页查询layui向后端发请求,url后面会自动带上 page=1&limit=10传统的分页查询select * from 表名 limit m, n 从第m+1行开始取n条数据使用PageHelper导入maven依赖:<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> &

2022-04-21 17:04:51 1997

原创 Layui 数据表格json格式问题

Layui 数据表格的json格式,后端传到前端的json格式

2022-04-20 20:26:21 2336

原创 Java 子类和父类同名属性

继承的本质/内存图属性访问的顺序:案例1public class Test { public static void main(String[] args) { B b = new B(); //子类对象 b.i = 200; b.B(); }}class A { int i = 10; public void A() { System.out.println(i); }}class B e

2022-01-20 12:21:41 8302 2

原创 PL/SQL语法总结

hello worldsqldeveloper菜单栏–>查看–>DBMS输出sqlplus界面,最后加上/才能执行程序,输入set serveroutput on回车后才能显示输出的结果begin dbms_output.put_line('hello world');end;普通变量赋值两种办法,:=或者select intodeclare v_no char(5) := '002'; v_name varchar2(10);begin sel

2021-03-09 23:05:35 376 1

原创 火狐浏览器关闭百度热榜(屏蔽网站特定元素)

火狐浏览器不能下载 uBlock Origin解决方法:https://github.com/AdguardTeam/AdguardBrowserExtension/releases。

2021-02-05 20:36:42 1828 6

原创 会话技术及Session和Cookie

会话服务器无法识别每一次 HTTP 请求的出处(不知道来自于哪个终端),它只会接受到一个请求信号。通过会话技术,可以让服务器知道请求来自哪个用户。会话就是客户端和服务器之间发生的一系列连续的请求和响应的过程,打开浏览器进行操作到关闭浏览器的过程。为了保存会话过程中产生的数据,Servlet提供了两个用于保存会话数据的对象:Session和Cookie。Session属于同一次会话的请求都有一个相同的标识符, sessionID(注:刷新或者打开新页面都属于同一次会话,sessionID相同)。Ses

2020-12-17 18:18:48 417 2

原创 html+css+JavaScript实现导航栏

无下拉菜单的导航栏<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * {

2020-11-28 22:52:17 2118 2

原创 洛谷P1087 FBI树【二叉树遍历】

题目链接:P1087 FBI树程序说明:后序遍历+判断条件,注意indexOf()可以判断子串是否存在(一开始没想到用indexOf)代码如下:import java.util.*;import java.io.*;public class Main { public static void main(String[] args) { String s = new String(); int n; Scanner in = new Sca

2020-11-12 12:48:49 417 1

原创 蓝桥杯 机器人塔【DFS】

X星球的机器人表演拉拉队有两种服装,A和B。他们这次表演的是搭机器人塔。类似: A B B A B A A A B B B B B A BA B A B B A队内的组塔规则是:A 只能站在 AA 或 BB 的肩上。B 只能站在 AB 或 BA 的肩上。你的任务是帮助拉拉队计算一下,在给定A与B的人数时,可以组成多少种花样的塔。输入一行两个整数 M 和 N,空格分开(0< M,N<500),分别表示A、B的人数,保证人数合理性。要求输出一个整数,

2020-11-10 23:07:28 904

原创 蓝桥杯 调手表【BFS】

小明买了块高端大气上档次的电子手表,他正准备调时间呢。在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟。大家都知道,手表只有一个按钮可以把当前的数加一。在调分钟的时候,如果当前显示的数是 0 ,那么按一下按钮就会变成 1,再按一次变成 2 。如果当前的数是 n - 1,按一次后会变成 0 。作为强迫症患者,小明一定要把手表的时间调对。如果手表上的时间比当前时间多1,则要按 n - 1 次加一按钮才能调回正确时间。小明想,如果手表可以再添加一个按钮,表示把当前的数加 k 该多

2020-11-10 20:14:27 386

原创 第十届蓝桥杯国赛C/C++ B组第2题【01背包】

2019可以被分解成若干个两两不同的素数,请问不同的分解方案有多少种?注意:分解方案不考虑顺序,如2+2017=2019和2017+2=2019属于同一种方案。程序说明:分解成若干个,不是分解成两个,注意看题。f[i][j] 表示从前 i 个数中选,相加等于 j 的所有方案数。类似于01背包问题,只不过存的是方案数。如果j < prime[i],即加上第 i 个质数就会超出背包的容量,则f[i][j] = f[i - 1][j]如果j >= prime[i],即加上第 i 个质数不会

2020-11-07 17:26:42 490 3

原创 洛谷P1734 最大约数和【01背包】

题目链接:P1734 最大约数和代码如下:#include <iostream>using namespace std;const int N = 1010;int n, v[N], f[N][N], w[N];int main() { cin>>n; //预处理每个数的约数和 for(int i = 1; i <= n; i++) for(int j = 1; j < i; j++) if

2020-11-07 15:29:58 292

原创 洛谷P1516 青蛙的约会【扩展欧几里得算法】

题目链接:程序说明:问题转化为求解线性同余方程:x + k * m ≡ y + k * n (mod L)方程等价于:x + k * m = z * L + y + k * n合并同类项,化简后得:k * (n − m) + z * L = x - y (将负号化为正号方便处理)设 a = n - m,b = L,c = x - y,即求线性方程:a * k + b * z = c 的解,扩展欧几里得求出整数解k,再扩大 c / gcd(a,b)倍即为方程的通解。需要注意的地方有两点:n - m

2020-11-07 12:45:15 417

原创 洛谷P1194 买礼物【最小生成树】

题目链接:P1194 买礼物程序说明:优惠大于0时建边,跑一边kruskal求最小生成树即可。需要注意的地方是,有可能优惠后的价格比原价还高。。因此需要加一个判断条件。代码如下:#include <iostream>#include <algorithm>using namespace std;const int M = 510;struct Edge { int a, b, w; bool operator < (const Edge &a)

2020-11-05 13:12:27 381

原创 洛谷P1403 [AHOI2005]约数研究【数论】

题目链接:P1403 [AHOI2005]约数研究程序说明:[1,n]的所有整数中p的倍数的个数:⌊\lfloor⌊np\frac{n}{p}pn​⌋\rfloor⌋代码如下:#include <iostream>using namespace std;int n, res;int main() { cin>>n; for(int i = 1; i <= n; i++) ans += n / i; cout<<res

2020-11-04 21:18:14 382

原创 洛谷P2071 座位安排【二分图最大匹配】

题目链接:P2071 座位安排程序说明:可以把右边的一列座位放在左边一列的后面,第 i 排左边的编号为 i ,右边的编号为 i + n。二分图的最大匹配可以用匈牙利算法求解。注意每个点连四条边,数组要开四倍大小。代码如下:#include <iostream>#include <cstring>using namespace std;const int N = 10100, M = 2 * N;int h[N], e[M], ne[M], idx, res;in

2020-11-04 15:30:51 371

原创 洛谷P1330 封锁阳光大学【二分图】

题目链接:P1330 封锁阳光大学程序说明:题意为判断无向图是否为二分图,可以用dfs染色。-1表示没访问过,0和1表示将顶点染成两种不同的颜色,如果一条边相邻的两个顶点被染成了相同的颜色,则可以判断出不是二分图。如果是二分图,需要记录1和0的个数,较小者即为答案。代码如下:#include <iostream>#include <cstring>using namespace std;const int N = 10010, M = 100010;int h[N

2020-11-03 21:59:17 265

原创 洛谷P1195 口袋的天空【最小生成树】

题目链接:P1195 口袋的天空程序说明:最小生成树的裸题,代码如下:#include <iostream>#include <algorithm>using namespace std;const int N = 1010, M = 10010;int n, m, k, p[N];struct Edge { int a, b, w; bool operator < (const Edge &W) const { return w <

2020-11-03 16:36:12 343

原创 洛谷P1144 最短路计数【最短路】

题目链接:P1144 最短路计数程序说明:如果搜索到的点到起点的距离等于当前点到起点的距离加上这两点间的那条边的距离,那么我们就将搜索到的点的路径数加上当前点的路径数。如果我们更新了搜索到的点到起点的最短距离,那么我们将到达改点的路径数改为当前点的路径数。(参考P1608 路径统计 题解)因此将spfa的松弛操作修改为://cnt[]记录路径数if(dist[j] > dist[t] + 1) { dist[j] = dist[t] + 1; cnt[j] = cnt[t]; }

2020-11-03 11:30:48 335

原创 DFS判断有向图是否存在环

st数组记录每个点的状态:0表示没访问过,1表示访问过,2表示与该点相邻的点都被访问过。dfs深搜如果遇到被标记成1的点,就说明有环。#include <iostream>using namespace std;const int N = 1010;int g[N][N], n, m, st[N], flag = 1;void dfs(int k) { st[k] = 1; for(int i = 1; i <= n; i++) { if(g[k][i]) { //和

2020-11-02 20:50:19 3675

原创 洛谷P1396 营救【最小生成树】【最短路】

题目链接:P1396 营救程序说明:法一:kruskal求最小生成树,当s和t连通时,此时边的权值w就是题中要求的最小的最大值(因为边是从小到大排序的)。法二:spfa求最短路。分析可知要让每段路的权值都尽可能小,所得到的路径不一定是从s到t的最短路,但是可以利用最短路的模板来解决:取两条边权值的较大者,如果比第三条边小,则更新。只需将spfa中的松弛操作:if(dist[j] > dist[t] + w[i]) dist[j] = dist[t] + w[i];改为:int t

2020-11-02 16:40:49 779

原创 洛谷P1226 【模板】快速幂||取余运算

题目链接:P1226 【模板】快速幂||取余运算程序说明:注意开long long。res最后还要再模一次k,因为指数有可能等于0。代码如下:#include <iostream>#include <cstdio>using namespace std;typedef long long LL;LL fun(LL b, LL p, LL k) { LL res = 1; while(p) { if(p & 1) res =

2020-11-01 23:35:52 222

原创 洛谷P1629 邮递员送信【最短路】

题目链接:P1629 邮递员送信程序说明:注意每次只能拿一件物品,送到目的地后必须返回起点才能送下一件。因此可以将题目转化为:从1号点到其余各点的最短路,再加上其余各点到1号点的最短路即为正确答案。求多个点到1号点的最短路,可以将邻接矩阵坐标互换(即将有向图反转)。代码如下:#include <iostream>#include <cstring>using namespace std;const int N = 1010, M = 100010;int g[N

2020-11-01 21:54:30 598

原创 洛谷P1525 关押罪犯【并查集】【二分图】

题目链接:P1525 关押罪犯程序说明:贪心思想,想要将怨气值最小化,就要优先处理怨气值大的两个顶点,将他们分别放在不同的集合。enemy数组记录敌人,每次把与自己敌对的人放进一个集合。代码如下:#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int N = 20010, M = 100010;//enemy[i]表示i的敌人 int

2020-11-01 15:35:40 358

原创 AcWing 845. 八数码【BFS】

题目链接:845. 八数码 在一个3×3的网格中,1~8这8个数字和一个“x”恰好不重不漏地分布在这3×3的网格中。例如:1 2 3x 4 67 5 8在游戏过程中,可以把“x”与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 x例如,示例中图形就可以通过让“x”先后与右、下、右三个方向的数字交换成功得到正确排列。交换过程如下:1 2 3 1 2 3 1 2 3 1 2 3

2020-11-01 11:09:40 259

原创 洛谷P1536 村村通【并查集】

题目链接:P1536 村村通程序说明:n个集合需要用n - 1条线连接起来,因此合并完集合后,循环遍历所有点,记录集合的总数,减一则为正确答案代码如下:#include <iostream>using namespace std;const int N = 1010;int p[N], n, m;int find(int x) { if(p[x] != x) p[x] = find(p[x]); return p[x];}int main() {

2020-11-01 10:10:22 431

空空如也

空空如也

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

TA关注的人

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