logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

图解bin log、redo log及undo log区别,2分钟吃透!

Bin log、Redo log 和 Undo log 的区别,是 MySQL 的高频面试题,大厂校招面试90%会问。在 MySQL 数据库中,Bin log、Redo log 和 Undo log 都是极为重要的日志文件。MySQL 实现事务、崩溃恢复、集群的主从复制等,底层都离不开日志,可以说日志是 MySQL 的内核所在。只有了解 MySQL 日志,才算是彻底搞懂 MySQL。本文主要探讨

文章图片
#数据库#mysql#面试
Spring @Valid 不生效 问题记录

综上所述,Spring解析@Valid的过程主要涉及到MethodValidationPostProcessor后置处理器,在BeanPostProcessor的postProcessBeforeInitialization方法中生成代理对象,并在方法执行前执行校验注解的过程。在拦截器中,会先获取方法上的校验注解,然后根据注解的类型,调用不同的校验器进行校验。在Controller的方法参数中添加

文章图片
#spring#java#mybatis
Redis之我见

【定义】Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型有:字符串类型、散列类型、列表类型、集合类型、有序集合类型。由于0%的用户请求都集中在20%的热门数据上,所以我们要将这20%的数据放在缓存里。redis可

#redis
volatile指令重排

计算机在执行程序时,为了提高性能,编译器和处理器常常会对指令重排,一般分为以下三种:源代码 -> 编译器优化的重排 -> 指令并行的重排 -> 内存系统的重排 -> 最终执行指令单线程环境里面确保最终执行结果和代码顺序的结果一致处理器在进行重排序时,必须要考虑指令之间的数据依赖性多线程环境中线程交替执行,由于编译器优化重排的存在,两个线程中使用的变量能否保证一致性是无法确定

#java
SpringMvc的执行流程

1、 用户发送请求至前端控制器DispatcherServlet2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

限制接口Api被频繁调用

api限流的场景限流的需求出现在许多常见的场景中1.秒杀活动,有人使用软件恶意刷单抢货,需要限流防止机器参与活动2.某api被各式各样系统广泛调用,严重消耗网络、内存等资源,需要合理限流3.淘宝获取ip所在城市接口、微信公众号识别微信用户等开发接口,免费提供给用户时需要限流,更具有实时性和准确性的接口需要付费。api限流实战首先我们编写注解类AccessLimit,使用注解...

springboot集成redission哨兵模式

代码】springboot集成redission哨兵模式。

#spring boot#java
Mysql并发时经典常见的死锁原因及解决方法

1.mysql都有什么锁MySQL有三种锁的级别:页级、表级、行级。表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般算法:next KeyLocks锁,同时锁住记录(数据),并且锁住记录

#面试
MYSQL like模糊查询,%在前面索引为什么会失效 (最左前缀底层原理)

还是要从索引的数据结构说起。我们都知道,我们通常用的索引数据结构是B+树,而索引是有序排列的。如果索引关键字的类型是Int 类型,索引的排列顺序如下:数据只存放在叶子节点,而且是有序的排放。如果索引关键字的类型是String类型,排列顺序如下:可以看出,索引的排列顺序是根据比较字符串的首字母排序的,如果首字母相同,就根据比较第二个字母进行排序,以此类推。我们在进行模糊查询的时候,如果把 % 放在了

#mysql
暂无文章信息