自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Springboot3整合Redis

redisTemplate默认采用JDK序列化Java对象,因此如果直接使用redisTmplate进行操作,那么在redis当中存的将是数据的二进制形式,看不懂,为了方便查看,一般采用JSON序列化的方式。spring-boot-starter-data-redis中使用的客户端为lettcuce,还有一个客户端为Jedis,区别如下表,反正就是Lettuce更强。为什么不单独设置string,list、set、zset的序列化方式,因为这几个使用的序列化器都是。获取成员的排名(升序,从0开始)

2025-10-24 15:20:39 162

原创 idea中重新加载所有maven项目失败,但maven compile成功

同步所有Maven项目:仅同步 IDEA 的索引和依赖关系,快速更新本地缓存(项目依赖了哪些jar文件,不必每次都重新去解析pom.xml)。用idea的Maven Helper插件分析依赖,可以看到sentry-client这个依赖被忽略了,因为maven选择了2.3.0这个版本。使用maven的compile命令项目能够正确编译,也能够正常启动,但是用重新加载所有maven项目时,就会提示某些jar包不存在。,重新下载依赖,重建项目结构(相当于重置 Maven 项目状态。当增删了依赖时使用。

2025-10-16 11:28:04 398

原创 Springboot之常用注解

​在配置类的方法上使用,方法的返回值将被注册为 Spring 容器中的一个 Bean​@Scope​​。

2025-10-11 16:20:45 494

原创 Springboot之日志

日志记录了项目运行时发生的各种事件以及输出的消息。

2025-10-11 15:07:34 347

原创 SpringBoot之配置文件

Springboot配置文件是一个文本文件,分为properties和yaml格式,内部设置了项目启动的一系列参数,比如:端口号、应用名称、激活的配置环境等。该文件体现来SpringBoot的“约定大于配置”的思想。

2025-10-11 14:13:04 475

原创 JDK动态代理

三部曲:创建被代理服务类、创建代理服务类、创建代理服务类对象。

2025-09-19 16:39:09 81

原创 15.三数之和

【代码】15.三数之和。

2025-09-19 14:01:00 95

原创 20.有效的括号

【代码】20.有效的括号。

2025-09-18 13:16:39 108

原创 为什么Mybatis和MybatisPlus需要弄一个分页插件?

直接在sql后面拼一个“ limit (起始页数 - 1) * 每页数据量, 起始页数 * 每页数据量 ”,不就行了吗?还要去配置一个分页插件,就为了能复用,减少重复代码吗?有时候,我们不仅仅想知道查到的数据是啥,还想知道一共有多少页,是否有下一页等信息,分页插件可以自动封装。)会导致数据库:先读取 100010 条记录,然后丢弃前 100000 条,最后返回剩下的 10 条。比如起始页小于1或者大于啦总页数,分页插件可以自动调整为第一页或最后一页。今天写代码的时候,突然想到标题的这个问题。

2025-09-10 15:53:53 222

原创 String和StringBuilder拼接字符串效率对比

虽然编译器对String的加号拼接优化成StringBuilder的append,但是每一次拼接完成之后,都需要用toString将StringBuilder转换为String,相当于是新建了String对象,类似于以下代码。然而,StringBuilder是可变对象,修改的是同一个数组,涉及到的耗时操作是给数组进行扩容,拷贝,不涉及新建对象,所以速度更快。以下是分别使用String加号拼接字符串和StringBuilder拼接字符串50万次的代码,执行时间分为是:2820ms和6毫秒。

2025-09-02 10:17:13 242

原创 7.整数反转

问题1:反转要用[::-1],而不是[-1:],这个只是从最后一个元组取到最后一个元素,因为默认步长是1,所以就会往后走。问题2:我用x // x 来判断符号,这是不对的。

2025-08-22 13:05:16 66

原创 2. 两数相加

3.先给temp_node设置值,再取carry,顺序不能反。2.carry应该是除以10得到,不是%1. 取值后,指针没后羿。

2025-08-19 12:58:00 96

原创 远程仓库地址发生变化

代码写着写着,组长突然说git地址迁移了,让我把自己的代码也迁移过去。以前没遇到过,今天试了试,迁移成功了,值得记录一下。

2025-07-31 22:50:36 516

原创 简单的登录功能(token验证)

简单的功能写了很久,实践才是真理呀。

2025-07-28 22:35:28 98

原创 JWT实践

JWT(JSON Web Token)是生成token的一种方法,而token本质是一个字符串。由Header、Payload和Signature组成。python-jose库封装了JWT的实现,直接调用jwt.encode和jwt.decode便可以完成token的生成与解析。Signature是签证信息,用于验证信息没有被篡改。:服务端与客户端约定的自定义字段。这些字段是非必须的,一般要传的就是username、roles和exp。:自定义的非敏感信息(如用户名、角色)。

2025-07-28 12:31:50 287

原创 读取不同环境变量文件-python

一个比较简单,但是又很重要的功能。在实际开发工作中,我们会有开发环境,测试环境,发布环境,不同的环境需要读取不同的配置文件,如何实现呢?代码如下。

2025-07-28 10:47:24 198

原创 博客多级评论展示功能实现

作者提出的编程方法挺适合我的,先写一个能跑的程序,再去谈优化。我的感受是,在写的过程中帮助理清了思路,从而才能知道该怎么去优化。python代码实现如下,主要思路:先根据article_id查出该文章下面的所有评论,然后根据parent_id将评论组装为树形结构。早上突然想起了以前室友面试被问的一个问题“你如何实现一个评论展示的功能”,发现自己并不是很清楚,于是尝试写写。建表语句如下,article_comment中的article_id指向了被评论的文章,parent_id指向了父评论。

2025-07-25 12:34:40 268

原创 性能监控装饰器-python

作用:可以放在类上和方法上,如果放在类上,则监控所有方法。根据设置的阈值,判断方法执行是否超时了,如果超时,那么就记录到日志文件当中去。看项目时,看到了一个性能监控装饰器,感觉挺有意思的。又是带薪学习的一天。

2025-07-24 17:44:17 162

原创 Git常用操作

因为GItLab可以部署在自己的服务器上,所以大多数公司都是选择GitLab作为项目代码管理平台。当进入公司,准备写代码,使用git的流程如下:1)让组长给自己创建一个账户密码,账户一般是自己公司邮箱。2)登入GItLab,然后修改密码。3)使用git clone命令克隆项目到本地。4)切换分支到开发分支,或者新建一个本地分支。5)写代码然后commit,push。6)有可能会有冲突,此时就要merge操作,然后提交。

2025-07-21 17:57:08 279

原创 SQLALchemy

创建所有模型类的基类,提供 ORM 映射的基础功能。# 继承 Base 的类会自动注册到 Base.metadata.tables 中,后续可通过 #Base.metadata.create_all() 创建表# 指定数据库表名为 user_account# 定义主键字段,类型为 Integer,默认自增# 定义一对多关系(一个用户对应多个地址)# 调用print(user)时输出以下内容r})"r})"

2025-07-19 15:02:00 658

原创 Feign实战

在springcloud中,微服务之间通过网络请求调用彼此的方法。常用的有工具有RestTemplate、HttpCilent、OkHttp等,这些工具在调用方法前需要构建url,比如拼接参数等。随着参数增多,url地址也会变长,参数还必须要一一对应,没有提示,需要自行检查,较为复杂。比如RestTemplate调用远程服务的代码如下:而Feign通过调用本地方法的形式调用远程服务,从而简化了微服务彼此的调用方式。同时Feign是基于Ribbon的,因此自带负载均衡功能,无需额外配置。项目使用的是Ri

2025-07-13 15:31:34 290

原创 Ribbon实战

负载均衡指的是将网络请求通过不同的算法分配到不同的服务器上的技术,从而提升系统的性能。核心点就是创建RestTemplate,然后添加@LoadBalance注解,使用RestTemplate对象方法时自动实现负载均衡。

2025-07-13 12:28:24 667

原创 IDEA中一个服务创建多个实例

有时候我们想要模拟服务集群。有一种做法是复制整个项目,然后修改配置,分别启动项目,达到服务集群的效果。这种方法存在的问题是步骤繁琐,如果项目体积较大,复制花费的时间也会较长,而且maven还会重新构建整个项目,进一步消耗了时间。5.在services或者Configurations中启动服务。IDEA中提供了一种更为简单的方法。2.点击上方的复制按钮,便可以创建一个一样的服务。1.点击Edit Configurations。4.修改配置文件的端口号,防止冲突。3.选择激活的配置文件。

2025-07-12 22:24:56 283

原创 Eureka实战

SpringCloudTest为父工程,用于引入通用依赖,如spring-boot-starter-web、lombok,这样子工程就可以直接继承,无需重复引入。在dependencyManagement标签中引入和springboot版本对应的springcloud(访问官网查询),本文用的springboot3.5.3,对应springcloud2025.0.0。

2025-07-12 17:25:36 688

原创 Andriod Studio创建项目和配置

2.配置gradle-wrapper.properties,使用腾讯镜像源,并且是-all.zip,包含了bin.zip和src.zip。或许是版本原因,我跟着某些文章得步骤没法成功创建项目。最主要就是第二步导入-all文件。同时有些文章内容杂乱,不够精简。3.配置settings.gradle.kts。

2025-06-24 12:27:45 345

原创 限流算法java实现

2.滑动时间窗口限流。

2025-06-07 16:53:44 437

原创 ModuleNotFoundError: No module named ‘numpy._core‘

清除缓存并安装稳定版本(推荐1.23.5或1.26.4)应该是版本兼容问题。# 强制卸载当前版本。

2025-05-12 11:30:17 1161

原创 切换回Word后,需要点击一下,才能继续输入

卸载了最近安装的ISlide加载项。

2025-05-10 11:05:50 556 1

原创 为什么java的ArrayList中使用for-each删除元素会报错?

在ArrayList内部有一个modCount属性,用来记录写操作的次数,即添加元素或删除元素时该值都会加一,如下图所示。接下来就是问题出现的时候了,当我们在使用numList.remove时,此时执行modCount会被加一,但是expectModCount没变,那么这俩就不相等了,于是抛出异常。那为啥我们使用Iterator的remove方法时不会出错,因为它在remove方法中又将expectModCount设置为了modCount的值。构造方法中打个断点,调试时会进来)。

2025-02-16 17:20:17 219

原创 论文设置页码

先了解分页符和分节符的区别,我的理解,分页符代表新建下一个空白页,分节符在分页符的基础上,将上下的内容分为独立的两部分,这样就可以单独设置样式而互不影响。下一页插入的就是分节符。第二步,在正文前一页插入分节符,见第一张图,布局-》分隔符-》下一页。第四步,点击正文的页码,点击取消链接到上一节(所谓的链接就是上一节页码改了,本节跟着改),如图所示。第三步,在Word功能栏的插入-》页码位置选择自己的格式插入页码,如下图所示。第六步,点击摘要页的页码,按照第五步中选择编号格式为罗马格式,如图所示。

2025-02-15 11:53:37 555

原创 Word写论文常用操作的参考文章

在公式输入的最后加上#和标号然后回车。

2025-02-14 13:58:31 550

原创 解决使用学校图书馆引用外文文献时信息不全的问题

我们学校图书馆的存在信息缺失,而且格式也不对。使用谷歌学术,信息挺全。

2025-02-12 11:09:37 313

原创 语义分割评价指标

通过阅读论文,发现常用的有这几个:Precision、ReCall、mPA、mIoU、Dice。

2024-12-09 16:03:56 216

原创 DeepLabv3+训练Crack500

Crack500是一个路面裂缝分割数据集,原本是500张图片,但是因为每张图片分辨率普遍为1440*2560或2560*1440,如下图所示。由于图像数量有限、每张图像尺寸较大、计算资源有限,作者团队将每张图像裁剪成16个不重叠的图像区域,只保留包含超过1000个裂纹像素的区域,分辨率为640*360,如下图所示。裁剪后的数据集有图片3368张。本文将Crack500数据集按照8:1:1,划分为训练集、验证集、测试集,并按照voc数据集格式进行组织。如下图所示。

2024-11-27 20:34:25 2041 9

原创 注意力机制参考文章

注意力分为四种,通道注意力(简单理解为给通道加权值),空间注意力(简单理解为给像素加权值),混合注意力(通道+空间),自注意力(计算特征图上所有位置之间的交互信息。介绍了经典的空间和通道注意力模型。该文章对通道注意力做出了通俗理解。

2024-10-24 16:31:41 167

原创 YOLO11学习参考文章汇总

下图的右边便是该组件的结构,可以看出其作用就是减少计算量。在该文章中介绍了ResNet网络中Bottleneck结构,YOLOV5网络中的Bottleneck结构,YOLOV8网络中Bottleneck结构。该文章中介绍了几个基础组件较为重要,Bottleneck,C2f,C3。,其结构如下图所示。Split模块就是将特征图按通道数拆分,比如64。,该文绘制了YOLO11的结构图,如下图所示。2.YOLO11项目的目录结构。,作用融合不同维度的特征。个通道,拆成32和32。4.YOLO11改进示例。

2024-10-17 11:34:18 869

原创 yolo模型的FPS

使用yolo模型实验后的结果中并未直接包含FPS,需要研究者在用于验证的python文件中自行编写代码获取该值。但是在csdn上查找代码时,发现有些代码花里胡哨,需要传入大量参数,让我不知道这些参数是否有作用或者需要修改。所以本文参考了官网的验证代码,编写一个简洁的val.py,用于今后的实验,达到提升效率的目的。FPS(Frames Per Second)能够向研究者提供一个直观的模型每秒能够检测的帧数,指明了模型的检测速度,因此,它是论文进行对比实验时非常重要的一项指标。

2024-10-15 14:25:07 3096 8

原创 Assertion `-sizes[i] <= index && index < sizes[i] && “index out of bounds“` failed.

原因:yaml文件中的类别数少于数据集中的类别数,比如我这里少了个4.yolov8实验时报这个错误。

2024-10-14 10:19:17 757

原创 找出小于n的最大数(字节面试题)

组合问题,进行回溯,求可以组成的所有数和n进行比较。递归出口:当组成的数大于n,则直接return。取值条件,当组成的数小于n的时候,取ans和当前组成数的最大值即可。给一个只含1-9的整数数组以及一个整数n,找出由整数数组中数组成的小于n的最大数。如nums = [9,6,3,5},n = 56449,则输出:56399.

2024-09-24 17:05:33 460

原创 跳跃游戏2 (简单易理解)

思路:得到当前位置作为起跳点能跳跃的最大距离,判断该距离是否大于等于了数组长度减1(因为题目的意思就是跳跃或超过最后一个下标就是成功)。如果大于等于了数组长度减1,那说明只需要再跳一步就成功了,因此return ans + 1;否则的话,准备从当前位置进行跳跃,用贪心思想,遍历能够跳跃到的位置,直接跳到最远位置即可。

2024-09-24 09:24:37 243

空空如也

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

TA关注的人

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