08 2023 档案
摘要:ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 ThreadLoal 变量,线程局部变量,同
阅读全文
摘要:Spring Cloud Gateway的三大核心概念 路由(Route): 路由是网关最基础的部分,路由信息由一个ID,一个目标URI,一组断言和过滤器组成。路由断言Predicate用于匹配请求,过滤器Filter用于修改请求和响应。如果断言为true,则说明请求URI和配置匹配,则执行路由。
阅读全文
摘要:1. 尽量在合适的场合使用单例 单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生,以达到节约资源的目的; 第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。 2. 尽量避免随意使用静态变量 当某个对象被定义
阅读全文
摘要:1.Future解决了什么问题 Future是java中的一个接口,主要用于java多线程计算过程的异步结果获取,能够感知计算的进度,与传统的多线程实现方式,比如继承Thread类,实现runnable接口,它们主要的局限在于对多线程运行的本身缺少监督。 2.Callable接口和Runnable接
阅读全文
摘要:一、优雅的参数验证@Validated @Valid和@Validated是Spring Validation框架提供的参数验证功能。 1.@Valid和@Validated的用法(区别) 二者主要作用在于 都作为标准JSR-303规范,在检验Controller的入参是否符合规范时,使用@Vali
阅读全文
摘要:select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观锁。 需要关闭自动提交,通过set @@autocommit=0; 设置为手动提交。0代表手动提交,1代表自动提交。 结果: 如果查询条件用了索引/主键,那么select
阅读全文
摘要:RDB 持久化 Redis 可以通过创建快照来获得存储在内存里面的数据在 某个时间点 上的副本。Redis 创建快照之后,可以对快照进行备份,可以将快照复制到其他服务器从而创建具有相同数据的服务器副本(Redis 主从结构,主要用来提高 Redis 性能),还可以将快照留在原地以便重启服务器的时候使
阅读全文
摘要:1、异常被捕获后没有抛出 当异常被捕获后,并且没有再抛出,那么deleteUserA是不会回滚的 @Transactionalpublic void deleteUser() { userMapper.deleteUserA(); try { int i = 1 / 0; userMapper.de
阅读全文
摘要:1.力扣 英文网址:https://leetcode.com/ 中文网址:https://leetcode-cn.com/ 2.hihoCoder 网址:https://hihocoder.com 3.牛客网 网址:https://www.nowcoder.com/ 计蒜客 网址:https://w
阅读全文
摘要:Excel是由四个元素组成的分别是:WorkBook(工作簿)、Sheet(工作表)、Row(行)、Cell(单元格),其中包含关系是从左至右,一个WorkBook可以包含多个Sheet,一个Sheet又是由多个Row组成,一个Row是由多个Cell组成。 1.1 创建Excel的元素 1)创建Wo
阅读全文