- 博客(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
原创 详解一下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
原创 [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
原创 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
原创 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
原创 ajax一直error
解决方法: 删掉datatype 后续: 发现这样的话就去不到json数据了 全是undefined 后续解决方法: 其实网传原因有两种 一种是返回类型不一致,还有一种是跨域,但是我就不一样了 我是蠢,springsecurity没有给接口权限...
2021-08-18 19:14:54
121
原创 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
原创 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
原创 thymeleaf后端传值给前端,前端调不到
解决方法: 注意一下用的是servlet还是session,后者取值为session.xxxx,前者不用加作用域
2021-08-16 10:53:15
859
原创 ajax 表单数据成功提交 但是进入了error回调
解决方法: 主要是由于contenttype和datatype不一致 注意一下格式和数据类型的问题即可
2021-08-16 10:50:01
153
原创 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关注的人