ThreadLocal的其他应用

简介: request对象跟PageHelper

spring框架使用ThreadLocal存储每个线程的request对象

不同请求会封装不同的request对象。

例如:查询的请求来到后端spring框架,spring会将当前线程请求放到ThreadLocal存储,

那么使用request对象就从ThreadLocal获取使用;如果是删除请求,请求来到后端spring框架就会将删除请求request对象存储到当前线程的ThreadLocal中。

PageHelper
pageHelper分页组件底层使用ThrealLocal存储当前页码和每页大小, 同一个线程内mapper执行分页的sql时执行limit关键字需要当前页码和每页小,就是从ThreadLocal里面获取的

PageHepler 其实limit的时候也是通过threadlocal去传递page跟pageSize的

我们用分页插件的时候 我们自己只写了一个sql语句就是根据条件查询所有的语句

但是实际上执行的是select count(0) limit ,?

为什么 就是因为pageHelper底层是通过threadLocal临时变量去做到的

那为什么我们要用page集合去接收数据 不用普通的list

是因为page集合的可以告诉我们每一页有多少数据 但是list不能

相关文章
|
4月前
|
Java 测试技术 索引
ThreadLocal详解
文章详细讨论了Java中的`ThreadLocal`,包括它的基本使用、定义、内部数据结构`ThreadLocalMap`、主要方法(set、get、remove)的源码解析,以及内存泄漏问题和避免策略。`ThreadLocal`提供了线程局部变量,确保多线程环境下各线程变量的独立性,但不当使用可能导致内存泄漏,因此建议在不再需要`ThreadLocal`变量时调用其`remove`方法。
123 2
ThreadLocal详解
|
6月前
|
Java
ThreadLocal 场景题
ThreadLocal 场景题
38 1
|
存储 算法 安全
深入详解ThreadLocal
在我们日常的并发编程中,有一种神奇的机制在静悄悄地为我们解决着各种看似棘手的问题,它就是 ThreadLocal 。
21519 9
深入详解ThreadLocal
|
存储
ThreadLocal
ThreadLocal
58 0
|
存储 安全 Java
ThreadLocal介绍和应用
ThreadLocal介绍和应用
70 0
|
缓存 安全 Java
浅谈ThreadLocal
浅谈ThreadLocal
153 0
|
存储 Java
|
存储 分布式计算 安全
什么是ThreadLocal?
这篇文章是慕课网上一门免费课程《ThreadLocal》的观后总结。这门课将ThreadLocal讲得非常清晰易懂,又深入底层原理和设计思想,是我看过的最好的ThreadLocal的资料,现在把用自己的话,把它整理成文字版本。 总共预计产出四篇文章,这是第一篇。
270 3
|
存储 Java
ThreadLocal理解
ThreadLocal理解
294 0
ThreadLocal理解
|
Java 应用服务中间件
我把 ThreadLocal 能问的,都写了(下)
我把 ThreadLocal 能问的,都写了(下)
我把 ThreadLocal 能问的,都写了(下)
下一篇
DataWorks