AOP的执行顺序

前言 之前面试的时候被问到AOP的执行顺序,当时满脑子都是Spring4和Spring5的执行顺序差别,对于嵌套的多个切面的执行顺序完全不知,一副不大聪明的样子😞。特此好好梳理一下这方面的知识,主要探讨以下几个问题: 单个切面中核心方法执行顺序? 多个切面中方法的执行顺序? 如何控制多个切面的执...

阅读更多

Redis主从复制原理

什么是主从复制 在Redis中,用户可以通过执行 SLAVEOF 命令或者设置 slaveof 选项,让一个服务器去复制另一个服务器,我们称呼被复制的服务器为主服务器master,而对主服务器进行复制的服务器被称为slave。 一个master可以有多个slave,即一主多从;而slave也可以接受其他sla...

阅读更多

Redis缓存过期淘汰策略

Redis内存满了怎么办 Redis内存配置 1)查看Redis最大占用内存 打开redis配置文件,设置maxmemory参数,maxmemory是bytes字节类型,注意转换。 2)redis默认内存多少可以用? 如果不设置最大内存或者设置最大内存大小为0,在64位操作系统下不限制内存大小,在3...

阅读更多

Spring Session 源码解析

前言 之前项目中使用到了Spring Session来实现分布session,使用起来非常方便,只需要引入依赖并修改一下配置,在启动类上添加@EnableRedisHttpSession注解,之后采用平常的存储session方式即可 session.setAttribute("loginUser",data);...

阅读更多

JWT是什么

普通的用户认证流程 无状态协议(Stateless Protocol) 就是指浏览器对于事务的处理没有记忆能力。举个例子来说就是比如客户请求获得网页之后关闭浏览器,然后再次启动浏览器,登录该网站,但是服务器并不知道客户关闭了一次浏览器。 那么无状态协议HTTP要如何保存用户状态呢? session 机制的存...

阅读更多

索引失效原理

联合索引的组织形式 从本质上来说,联合索引也是一个B+树,和单值索引不同的是,联合索引的键值对不是1个,而是多个。下图是一个a、b字段联合索引的B+树结构: 可以发现a字段是有序排列,b字段是无序排列(因为B+树只能选一个字段来构建有序的树),但是在a相等的情况下,b字段是有序的,可以说b的有序是建立在a...

阅读更多

什么是线程安全?如何实现?

前言 前几天面试,面试官直接问了“什么是线程安全?”,突如其来这么宽泛的一个问题,当时讲的很没有逻辑🤯。特此重新梳理和记录一下操作系统中多线程的基本知识。 什么是线程安全 目前主流操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问别的进程的,这是由操作系...

阅读更多

我再也不怕写错二分查找啦(大概

前言 之前看了labuladong的二分模版,以为自己懂了,结果遇到题目还是到处吃瘪,各种细节直接痛苦面具放弃思考 😭 最近看到一个讲二分查找的视频,感觉我又行了!特此记录一下该方法,主要思想就是:把红蓝区域固定,然后通过选择返回的r,l获得上界和下界,这样取区域与返回值可以更加灵活多变。 比如 在一段集合...

阅读更多