摘要: 数据一致性的根本原因是 缓存和数据库中的数据不同步,那么我们该如何让缓存和数据库中的数据库尽可能的即时同步? 常见的缓存更新策略 内存淘汰(全自动)。利用Redis的内存淘汰机制实现缓存更新,Redis的内存淘汰机制是当Redis发现内存不足时,会根据一定的策略自动淘汰部分数据 一致性:差 维护成本 阅读全文
posted @ 2025-05-18 17:01 小郑[努力版] 阅读(31) 评论(0) 推荐(0)
摘要: ThreadLocal是java的一种机制,用于为每个线程提供独立的变量副本,从而实现线程的局部存储,通过ThreadLocal,每个线程在访问一个ThreadLocal变量时,都会有自己的局部变量,不同线程之间局部变量互不干扰。 ## 工作原理 1. **线程隔离**: - 每个线程都可以通过`T 阅读全文
posted @ 2025-05-18 16:35 小郑[努力版] 阅读(17) 评论(0) 推荐(0)
摘要: 是Spring框架中的两个接口,用于在Spring MVC应用中实现控制器请求的拦截和配置 ## HandlerInterceptor 接口用于定义拦截器,可以对HTTP请求进行预处理和后处理,这些拦截器通过实现下面三个方法来工作: 1. **`preHandle(HttpServletReques 阅读全文
posted @ 2025-05-18 16:34 小郑[努力版] 阅读(25) 评论(0) 推荐(0)
摘要: JWT本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码得到一个JWT token,并且这个JWT token带有签名信息,接收后可以验证是否被篡改。所以可以用于在各方之间安全地将信息作为Json对象传输。 JWT认证流程如下: 前端将用户名和密码发送给后端 后端核对用户名和 阅读全文
posted @ 2025-05-13 21:35 小郑[努力版] 阅读(21) 评论(0) 推荐(0)
摘要: 参考官网:https://baomidou.com/introduce/ 阅读全文
posted @ 2025-05-13 21:33 小郑[努力版] 阅读(17) 评论(0) 推荐(0)
摘要: 什么是spring security spring security 是一个相对复杂的安全管理框架,功能比Shiro更强大,权限粒度控制更细更高,对OAuth2的支持也更友好 安装配置 <dependency> <groupId>org.springframework.boot</groupId> 阅读全文
posted @ 2025-05-12 21:54 小郑[努力版] 阅读(39) 评论(0) 推荐(0)
摘要: 函数式编程 函数是一种最基本的任务,一个大型程序就是一个顶层函数调用若干底层函数,这些被调用的函数又可以调用其他函数,即大任务被一层层拆解并执行。所以函数就是面向过程的程序设计的基本单元。 Java不支持单独定义函数,但可以把静态方法视为独立的函数,把实例方法视为自带this参数的函数。 而函数式编 阅读全文
posted @ 2025-05-07 22:05 小郑[努力版] 阅读(27) 评论(0) 推荐(0)
摘要: 在讲解什么是泛型之前,我们先观察Java标准库提供的ArrayList,它可以看作“可变长度”的数组,因为用起来比数组更方便。 实际上ArrayList内部就是一个Object[]数组,配合存储一个当前分配的长度,就可以充当“可变数组”: public class ArrayList { priva 阅读全文
posted @ 2025-05-07 22:03 小郑[努力版] 阅读(30) 评论(0) 推荐(0)
摘要: 什么是注解(Annotation)? 注解是放在java源码的类,方法,字段,参数前的一种特殊“注释” // this is a component: @Resource("hello") public class Hello { @Inject int n; @PostConstruct publ 阅读全文
posted @ 2025-05-07 22:00 小郑[努力版] 阅读(35) 评论(0) 推荐(0)
摘要: Java的反射是指程序在运行期间可以拿到一个对象的所有信息。 正常情况下,如果我们要调用一个对象的方法,或者访问一个对象的字段,通常会传入对象实例: // Main.java import com.itranswarp.learnjava.Person; public class Main { St 阅读全文
posted @ 2025-05-07 21:59 小郑[努力版] 阅读(25) 评论(0) 推荐(0)