自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 InnoDB引擎的事务处理流程

Innodb在收到⼀个update语句后,会先根据条件找到数据所在的⻚,并将该⻚缓存在Buffer Pool中。如果事务提交,那么则把RedoLog对象进⾏持久化,后续将Buffer Pool中所修改的数据持久化。执⾏update语句,修改Buffer Pool中的数据,也就是内存中的数据。针对update语句⽣成⼀个RedoLog对象,并存⼊LogBuffer中。针对update语句⽣成undolog⽇志,⽤于事务回滚。如果事务回滚,则利⽤undolog⽇志进⾏回滚。

2025-04-14 21:05:29 84

原创 数据库三范式详解与实例解析

1NF:保证原子性;2NF:消除部分依赖;3NF:消除传递依赖。

2025-04-14 20:35:39 273

原创 Java中线程阻塞手段详解与对比

Java 中线程阻塞的核心目的是让线程在特定条件下暂停执行,以避免资源竞争或实现线程协作。

2025-04-13 20:01:06 365

原创 ThreadLocal使用与内存泄漏 详解

用于保存线程私有数据,但当使用线程池(线程复用)时,若未及时清理。

2025-04-13 19:32:41 257

原创 详解一下volatile和synchronized的区别

volatile只保证变量的可见性,但是不保证原子性,原理是通过内存屏障保证了不会出现指令重排序。synchronized是通过对象头中的锁状态标志位和锁记录(Lock Record)来实现。当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。告诉JVM当前变量在寄存器中的值是。可以保证变量的修改可见性和原子性。标记的变量不会被编译器优化。

2025-04-12 16:03:55 157

原创 Synchronized锁的作用范围详解和示例

● 静态方法:锁住类的Class对象,所有实例共享同一把锁。从结果可以看出同一实例的同步方法会被阻塞,类锁并没有受影响。● 成员方法:锁住当前对象实例,不同实例互不影响。

2025-04-12 15:32:12 229

原创 《量价分析》读后感

一本十分优秀实用的书籍,全篇没有废话,对于一些难懂的点采用了比喻和实例解析的方式进行教学,整体难度十分适合入门,而且便于实践巩固。

2024-04-13 22:16:52 775

原创 [经验&踩坑] 个人搭建 Prometheus + Grafana 监控机器和服务健康状态

到这里已经全部配置完成了,如果需要大范围配置监控就需要把这些步骤自动化,小范围的话这样手动没什么问题。详细的指标配置需要再上报数据的时候自定义或者在Grafana上自行配置。

2024-02-01 11:45:07 1604

原创 SpringBoot整合Prometheus并添加服务监控

通过添加Prometheus和actuator的依赖来实现对服务的监控和指标暴露,配合Prometheus的Server就可以实现服务监控,加上Grafana就可以配置大盘。这里主要讲一下怎么简单整合进服务里。

2024-02-01 11:42:03 635

原创 [BUG] SpringBoot + Prometheus actuator 404 endpoint没反应

打印Debug日志,并访问metric_path,发现找不到resource,是版本问题,换了actuator版本后解决。

2024-01-31 11:39:04 1040

原创 Linux下配置开机自启动项

新建Service文件,启用service文件

2024-01-31 11:27:22 615

原创 Redis Hash数据结构探秘

解释ziplist、listpack数据结构和rehash的基本操作原理

2024-01-07 08:00:00 932

原创 [BUG] Spring Data、JSqlParser、NoSuchMethod、net.sf.jsqlparser.expression.Function.withName

这种现象一般就是依赖冲突没跑了。

2023-12-21 22:27:51 391

原创 pip install brotlipy构建遇到llvm-ar目录找不到

llvm-ar, No such file or directory, Failed to build brotlipy

2023-12-10 17:52:13 508

原创 一文弄懂Python环境安装管理

python的管理可以分为三个部分:包管理、版本管理、环境管理。但是基于工具基本可以一次性解决。切换虚拟环境实际上就是操作了Path变量。一般来说开发完成后会通过pip freeze > requirement.txt来导出依赖,之后再服务器上面创建一个虚拟环境,并利用这个txt来在虚拟环境中安装依赖现在常用的有这几个pip(包管理)、conda、venc、poetry等。

2023-12-09 18:36:09 942

原创 [教程] 自建图床+PicGo实现Typora上传图片,内外网皆可,附源码

使用Picgo和自己的服务,搭建属于自己的图床

2023-12-09 13:16:36 672

原创 RPC协议扫盲,了解组成和实现,选择适合自己的框架!

RPC(远程过程调用协议)是一种用于分布式系统的协议,有多种成熟的框架如gRPC、Thrift、Dubbo和Spring Cloud。调用流程涉及序列化、代理形式和传输方式。序列化方式包括Hessian、Kryo、Protobuf等,影响语言和性能选择。代理形式可采用jdk动态代理、cglib、javassist、ASM等,影响性能和开发便利性。传输方式包括网络协议和IO模式,框架一般屏蔽这些细节。服务注册和发现是RPC的重要组成部分,常用工具有Zookeeper、Eureka等。

2023-12-06 17:01:59 1006

原创 SSH原理

默认端口22,连接建立->版本协商->算法协商->密钥交换->用户认证->会话请求->会话交互

2023-11-29 15:41:41 386

原创 OAuth是什么?

详细描述了OAuth的流程,通过图示和例子展示了用户在使用微信登录一个论坛时的授权过程。最后,介绍了不同的授权模式,包括授权码模式、简化模式、密码模式和客户端模式,每种模式都有其特点和用途。

2023-11-17 15:13:26 224

原创 【BUG排查】ObjectMapper序列化前后不一致

某次线上测试发现,通过 arthas 发现是对象判断不一致,代码逻辑反复检查没有问题。于是把目光放到实体类。

2023-10-19 17:16:53 486

原创 SLF4J: Class path contains multiple SLF4J bindings.

原本springboot就自带了一个 把他除外就好了 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 排除默认的logback日志,使用log4j--> <exclusions>

2021-08-19 14:41:34 193

原创 Springboot 整合 Spring Security 配合thymeleaf,mysql实现记住登录

原理: 用户首次登录发送请求成功通过过滤器后会被生成一个token,这个token和用户名一一对应,且会被放入Cookie与数据库中,用户在之后的登陆请求中携带的Cookiee的token会与数据库中的比对,成功的话会调用UserDetailsService获得用户的信息并返回,至此结束。​ 仔细想想会发现,这种比对方法在Spring security中十分常见,不去解密而是利用hash的一致性,单向加密对比,防止了由于秘钥泄露造成的安全问题。(个人理解)​ 使用mysql 所以不讲解内存方法​

2021-08-19 14:38:53 542

原创 href跳转链接拼接在项目url后的解决方法

解决方法: href中的链接前面加//

2021-08-19 14:38:08 1076 2

原创 动态添加的标签自动补全了

解决方法: 将语句赋予变量,最后append变量即可

2021-08-18 19:15:24 138

原创 ajax一直error

解决方法: 删掉datatype​ 后续: 发现这样的话就去不到json数据了 全是undefined​ 后续解决方法: 其实网传原因有两种 一种是返回类型不一致,还有一种是跨域,但是我就不一样了 我是蠢,springsecurity没有给接口权限...

2021-08-18 19:14:54 121

原创 layui图标显示方框

解决方法: 检查一下class里面是不是少了一个图标的默认class: layui-icon

2021-08-18 19:14:24 1639

原创 Redis+SpringBoot+Thymeleaf 实现动态分页

解决方法: 首先使用redisTemplate加上Zset进行分页查询 前端每次翻页时发送请求,service层负责返回数据和计算页码,前端用thymeleaf拼接url并展示数据(用th:each)

2021-08-18 19:13:52 274

原创 layui 弹出层中选项卡刷新无效

解决方法: 仔细看看网页的html代码就会发现layui自己动态生成了代码覆盖了你的代码,所以有两种方式解决这个问题.​ 1.重新打开iframe​ 2.需要执行layui官方提供的 form.render(type, filter),type是select,radio,checkbox之类,filter是标签中class为layui-form设置的lay-filter的值...

2021-08-18 19:13:25 510

原创 Refused to display ‘url‘ in a frame because it set ‘X-Frame-Options‘ to ‘deny‘.

解决方法: 在继承WebSecurityConfigurerAdapter的子类的覆盖方法configure(HttpSecurity)里面添加:http.headers().frameOptions().sameOrigin();

2021-08-18 19:12:49 181

原创 redis 安装报错 jemalloc/jemalloc.h: No such file or directory

解决方法: 上次安装残留了 先用make distclean后在make 直接用&&连接两个指令也可以

2021-08-18 19:11:56 247

原创 springMVC项目打包后运行错误“Error resolving template “/index“, template might not exist or ......“

解决方法: 把模板映射开头的/给去掉

2021-08-18 19:11:16 413

原创 @Value 取不到值

解决方法: 静态变量需要用set(去掉statis)方法注入​ 并且类要被spring接管

2021-08-18 19:10:40 181

原创 spring security because its MIME type (‘text/html‘) is not a supported style

解决方法: 仔细看看静态资源过滤成功了没

2021-08-18 19:10:09 290

原创 使用spring security第一次登录是失败的,没有走defaultSuccessUrl指定页面

解决方法: 只需要在defaultSuccessUrl("/admin/to/main/page.html",true) 加一个true即可。

2021-08-16 10:58:42 497 3

原创 layui中弹窗一闪而过 或者 不显示

解决方法: 在button中需要指定type为button

2021-08-16 10:53:45 704

原创 thymeleaf后端传值给前端,前端调不到

解决方法: 注意一下用的是servlet还是session,后者取值为session.xxxx,前者不用加作用域

2021-08-16 10:53:15 859

原创 ajax 表单数据成功提交 但是进入了error回调

解决方法: 主要是由于contenttype和datatype不一致 注意一下格式和数据类型的问题即可

2021-08-16 10:50:01 153

原创 ajax 提交表单不跳转

解决方法: 在ajax外面加一句return false;

2021-08-16 10:48:58 367

原创 Generated source files should not be edited.

解决方法: 清除浏览器缓存

2021-08-16 10:48:17 1422

原创 springboot中静态资源引用问题

​ 解决方法:spring.mvc.view.prefix=/templates/spring.mvc.view.suffix=.html#映射至/static/spring.mvc.static-path-pattern=/**

2021-08-16 10:47:08 175

空空如也

空空如也

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

TA关注的人

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