自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 卡特兰数的推理

卡特兰数的前几项为(从第0项开始):1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, …。通项公式fnC2nnn1C2nn−C2nn−1fnn1C2nn​​C2nn​−C2nn−1​,其中C2nnC_{2n}^nC2nn​表示从2n个不同元素中取出n个元素的组合数。递推公式fn4n−2n1fn−1fnn14n−2​fn−1。

2024-09-14 16:45:30 514

原创 记录一次网关无响应的排查

发现jedis官网也有一些对应的issue, 我使用的jedis版本是3.1.0 太久了,导致执行 evalsha命令时,旧的jedis源码 设置了无限长的 jedis操作时间。我发现,一个线程在经过 rateliter的prefilter后, 先是调用 consume方法,获取到锁。1. 使用jstack pid > thread.txt 打印进 thread.txt 文件里。接着在执行 jedis的 evalsha命令时 一直卡在socket.read()的状态。

2024-08-06 22:05:10 282 1

原创 记录一点mybatis的坑

如果想在更近一步,由于是线程复用 或 查询sql未执行 导致 没法执行clearPage,那么 可以写一个切面,在方法执行前,执行一下clearPage。startPage执行后,紧跟的一个查询语句 会被加上limit对应的参数,然后自动执行clearPage(),以免其他语句受到 分页的影响。但是如果我们没有 执行查询语句,那么,这个分页可能会被使用到下面 执行查询的语句中。比如在一次偶然中, 这个查询语句执行到了service里的一个查询语句。

2024-07-13 22:53:08 260

原创 IO多路复用

会返回一个整数值,表示集合中有多少个文件描述符已经准备好。这个数字不一定等于你最初放入集合中的文件描述符总数,因为它只表示那些状态发生变化的描述符数量。函数基于这个集合来检测这些描述符的状态变化,返回准备好的描述符数量,以及通过修改集合来指示哪些描述符已经准备好。集合中所有的文件描述符,看它们是否满足你设定的条件(例如是否可读、可写或有异常)。函数正是基于这个集合来监控哪些文件描述符已经准备好进行读、写或异常处理的。类型的文件描述符集合中添加你感兴趣的文件描述符。也准备好了,但因为你没有监控它,

2024-07-03 23:58:01 297

原创 jvm学习

this居然也会占用一个槽slot局部变量表的槽会被复用!!!但形参和this好像不会被复用在一个方法的执行上下文中,形参和this的Slot都不会被复用。Slot的复用通常发生在不同变量的作用域重叠时,例如一个局部变量在其作用域结束之后,后续在同一作用域层次声明的局部变量可能会复用之前变量释放的Slot。

2024-06-23 22:50:13 266

原创 重学计算机网络

原来只能一个在一个连接上发送一个请求。HTTP/1.0中,客户端必须等待服务器响应一个请求后才能发送下一个请求,导致了请求和响应之间的串行处理。其实通道化和持久化并不矛盾,原本是 一次连接就发送一次请求 然后关闭连接,肯定不会出现一个连接发送多个请求的情况。, 这个持久化并不是磁盘的持久化,而是tcp连接建立的持久化。

2024-05-07 22:35:15 488 1

原创 k8s学习

适用于pod对象中的所有容器。

2024-03-30 23:18:32 695

原创 每天一道shell题

利用输入重定向符

2024-03-25 23:41:56 269

原创 springcloud gateway

predicate : 就是你定义一些规则,如果满足了这些规则,就去找到对应的路由。约定大于配置,后缀不变,只改前缀。二、自定义过略器和全局过滤器。信号量虽然简单,但是遇到。sentinel持久化。三、sentinel。

2024-03-18 23:07:13 452

原创 自定义参数校验器(有用)

因为我想对于参数的校验制定自己的规则,所以要自定义一个校验器。好的,开始启动吧。

2024-03-06 23:56:30 242

原创 rabbitmq总结

一、初次感知这篇文章非常好,讲了一些持久化的原理。二、对于一些好文章的记录:1. 深入理解rabbitmq。

2024-03-04 20:38:18 928

原创 mysql常用函数

1. 字符串处理函数。

2024-02-27 22:16:15 126

原创 mysql语句规范+调优

一、1.

2024-02-26 19:52:21 183

原创 python自学...

就是spring的aop。

2024-02-15 16:01:55 1115

原创 nginx初学者指南

在Windows上启动nginx的步骤如下:1. 下载并安装nginx。可以从nginx官网下载适合自己操作系统的版本,一般是zip压缩包,解压到指定目录中。2. 进入nginx的安装目录,找到nginx.exe文件。3. 双击nginx.exe文件,启动nginx服务。4. 启动完成后,可以通过输入http://localhost来访问nginx默认页面,如果看到“Welcome to nginx”字样,说明nginx已经成功启动。

2024-02-03 21:32:10 1274

原创 常见加密方式

一、非对称加密RSA。

2024-01-31 22:04:23 145

原创 java并发编程

所以我在测试时,出现一个小插曲。2.linux查看线程信息。

2024-01-14 17:43:50 430

原创 你会用到的git知识

2. 将暂存区中的修改添加到最后一次提交中:如果你在提交代码之前,发现还有一些修改没有被提交,可以使用 `git add` 命令把这些修改添加到暂存区中,然后使用 `git commit --amend` 命令把这些修改添加到最后一次提交中。3. 合并多个小提交为一个大提交:如果你在开发过程中,经常提交一些小的修改,但是这些修改却没有达到一个完整的功能或者一个稳定的版本状态,那么你可以使用 `git commit --amend` 命令来合并这些小修改为一个大的提交。命令用于修改最后一次提交。

2024-01-12 23:43:57 370

原创 springboot邮件发送

因此,MimeMessage是JavaMail API中的一个基础类,而MimeMessageHelper是Spring Framework中对MimeMessage的封装,提供了更加便捷的API,使得我们可以更加方便地处理邮件消息。一般来讲,模板解析时,会根据String类型的返回值,来返回是哪个html页面,但此时,我们只需要返回一个String 类型的数据,那么,我们就用用上@ResponseBody。对于我们服务器上的静态资源,比如下面这张图片,是可以直接访问到的。

2024-01-11 00:15:56 396

原创 软件测试笔记

一、压力测试1.概述2. 性能测试的指标3.性能测试的分类4.测试工具二、安全测试1.XXS(Cross Site Scripting)三、自动化测试

2024-01-10 21:54:07 373

原创 毛概笔记。

一、毛泽东思想是马中化的第一果,是关于搞革命,搞改造,搞建设的理论。

2024-01-07 10:30:34 569

原创 接入第三方登录

3. 如果用户点击“授权并登录”,则成功跳转到指定的redirect_uri,并跟上Authorization Code(注意此code会在10分钟内过期)。回调地址建议设置为网站首页或网站的用户中心。关于为什么要编码Encode?把后面这一串 识别成了 一个整体。4.获取access Token。避免把 & 识别成普通字符。

2024-01-02 23:19:32 392

原创 springboot单元测试

本篇博客参考下述文章:Spring Boot单元测试入门实战 - 掘金 (juejin.cn)@Before, @BeforeClass, @BeforeEach 和 @BeforeAll之间的不同 - Yaoyaoo - 博客园 (cnblogs.com)

2023-12-10 21:53:00 446

原创 optional

根据Oracle文档,Optional是一个容器对象,可以包含也可以不包含非null值。Optional在Java 8中引入,目的是解决 NullPointerExceptions的问题。本质上,Optional是一个包装器类,其中包含对其他对象的引用。在这种情况下,对象只是指向内存位置的指针,并且也可以指向任何内容。相比之下,在API中返回Optional是明确的声明,其中可能没有值。如果我们要确保不会出现空指针异常,则需要对每个引用进行显式的空检查,如下所示,我们都同意这是很多样板。

2023-12-10 11:04:57 460

原创 Redis基础

firewallsystemctl disable firewalld.service #禁止firewall开机启动。firewallsystemctl stop firewalld.service #停止。firewall-cmd --reload #重启。在关闭时,无法关闭,只好用。kill -9 进程号。

2023-12-09 16:31:13 416

原创 在springboot中引入参数校验

一般我们判断前端传过来的参数,需要对某些值进行判断,是否满足条件。而springboot相关的参数校验注解,可以解决我们这个问题。

2023-12-08 00:16:52 454

原创 Mybatis-plus

本篇博客参考上述文件。

2023-12-02 11:29:09 738

原创 spring security 艰苦学习中

密钥secret 有点意思。

2023-11-29 22:47:45 542

原创 springBoot

1. 请求体是json数据时,加上@RequestBody注解,用。

2023-11-24 00:36:53 511

原创 SSM整合原理和实战

父工程用pom 我原来没见过,

2023-11-16 23:22:11 123

原创 Tomcat学习

在webapp里面必须先创建一个文件夹,文件夹里面放的内容,才会被访问到。创建一个javaweb项目后。

2023-11-12 21:47:44 552

原创 git基础知识

所有的配置文件,其实都保存在本地!查看所有配置 git config -l即把和都 列出来以直接编辑配置文件,通过命令设置后会响应到这里。

2023-11-11 19:53:20 250

原创 Mybatis学习

层层递进,SqlSession用来执行sql语句,SqlSession是与数据库的一次会话。通过SqlSessionBuilder的build()方法获取SessionFactory。通过SqlSessionFactory获取SqlSession。1.第一个mybatis程序。

2023-10-31 11:43:23 490

原创 面试准备中........

会话层:建立、管理、终止会话负责在网络中的两节点之间建立、维持和终止通信,如服务器验证用户登录便是由会话层完成的。还有它确定是否需要网络传递,像网页就需要进行网络传递,本地文件保存不许用。路由选择: 内部网关协议;RIP 基于距离,也就是跳数。OSPF:根据代价(自己可以制定),建立链路状态库-表示层:数据的表示:将字符转化为2进制或将2进制转化为字符。加密:对称加密和非对称加密,ssh协议。应用层 :给用户提供操作界面。1.对称加密和非对称加密。

2023-10-28 17:51:29 375

原创 SpringMVC学习

( •̀ ω •́ )✧: SpringMVC是基于MVC开发模式的框架,具备IOC和AOP。MyBatis用来优化持久层, SpringMVC优化控制器。spring是用来整合这两个框架 的框架。

2023-10-28 15:13:09 371

原创 学习vue3

①直接将所有的js都通过script标签引入到html文件中,所有的js资源在web页面中都能通用。②使用js引用js(ES6),模块导入与导出。

2023-10-24 00:00:30 161

原创 简单实现spring的set依赖注入

【代码】简单实现spring的set依赖注入。

2023-10-22 20:08:58 338

原创 Spring()

spring快照版本是最新的版本,未发布。需要用到下面这个不需要配置仓库,直接写在依赖中就行引入spring相关依赖疑惑:1.类加载路径类路径classpath指的是编译后路径即:本项目[或模块目录]/target/[项目或模块名]/WEB-INF/classes原项目中的文件和下的文件页都被打包到了此类路径下。

2023-10-17 17:47:49 168

原创 翻译docker官方文档(残缺版)

正确地排序你的DockerFile指令 会帮你在构建时避免不必要的工作。使用缓存优化构建(build)Dockerfile 最佳实践。

2023-10-11 21:46:16 1633

原创 Docker 基础

这个 句点 不能缺实践:在创建并运行容器时,需要指定其名字:版本。

2023-10-07 08:41:12 135

空空如也

空空如也

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

TA关注的人

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