threadlocal是一个线程内部的存储类,可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到存储数据。
ThreadLocal的静态内部类ThreadLocalMap为每个Thread都维护了一个数组table,ThreadLocal确定了一个数组下标,而这个下标就是value存储的对应位置。

以下是ThreadLocal工具类(从网上收集的资料进行调整)

import java.util.HashMap;
import java.util.Map;/*** @author lcy* @since 2021/7/15 15:32*/
public class ThreadLocalUtil {private static final ThreadLocal<Map<String, Object>> threadLocal = ThreadLocal.withInitial(() -> new HashMap<>(10));public static Map<String, Object> getThreadLocal() {return threadLocal.get();}public static Object get(String key) {Map<String, Object> map = threadLocal.get();return map.get(key);}public static void set(String key, Object value) {Map<String, Object> map = threadLocal.get();map.put(key, value);}public static void set(Map<String, Object> keyValueMap) {Map<String, Object> map = threadLocal.get();map.putAll(keyValueMap);}public static void remove() {threadLocal.remove();}public static <T> T remove(String key) {Map<String, Object> map = threadLocal.get();return (T) map.remove(key);}}

ThreadLocal工具类相关推荐

  1. 基于ThreadLocal的日期工具类

    有时候我们会使用到JDK java.text.*下的SimpleDateFormat类来对我们的日期与字符串进行格式化得转换,此时我们很容易想到,要基于SimpleDateFormat封装成一个工具类 ...

  2. 死磕Java并发:J.U.C之并发工具类:Exchanger

    作者:chenssy 来源:Java技术驿站 前面三篇博客分别介绍了CyclicBarrier.CountDownLatch.Semaphore,现在介绍并发工具类中的最后一个Exchange.Exc ...

  3. mybatis工具类

    一.            MybatisUtil 封装工具 类 方法 基础功能 运行效率 优化 1.读取配置文件需要打开IO 建议只读取一次即可 2.SqlSessionFactry 工厂对象 重量 ...

  4. Java中封装的全局日期处理工具类

    场景 全局日期处理类. 时间日期操作类,集成了大部分时间的应用类. 主要功能如下: 获取SimpleDateFormat 获取日期中的某数值.如获取月份 增加日期中某类型的某数值.如增加日期 获取精确 ...

  5. hibernate之工具类

    package util;import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate ...

  6. struts+hibernate+oracle+easyui实现lazyout组件的简单案例——工具类

    次此篇文章是两个工具类的实现,HibernateUtil.java和分页的工具类PageUtil.java的实现: 先看看HibernateUtil.java的实现: package org.util ...

  7. Hibernate_1_配置文件详解_基础案例_Hibernate工具类_API详解_持久化类编写规则

    Hibernate( ORM框架 ) Hibernate是一个数据持久化层的ORM框架. 它通过JavaBean, 数据库中的表与自身的映射关系达到表中数据的增删改查 特性 1.对JDBC访问数据库的 ...

  8. java properties文件 安全_java 数据库读取工具类(读取config.properties配置文件)[包含线程安全] | 学步园...

    java 数据库读取工具类(读取config.properties配置文件)[包含线程安全] 数据库读取工具类 package com.db; import java.sql.Connection; ...

  9. ThreadLocal T类的说明 转载 原作者 lujh99

    首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...

  10. J.U.C之并发工具类:Exchanger

    本文来说下J.U.C之并发工具类:Exchanger 文章目录 概述 应用示例 实现分析 exchange()方法 本文小结 概述 前面分别介绍了CyclicBarrier.CountDownLatc ...

最新文章

  1. Java高并发编程:活跃性危险
  2. NYOJ 士兵杀敌(四) 树状数组
  3. Angular Reactive Form 的一个具体使用例子
  4. 福禄克网络TIA识别MPTL连接的操作方法
  5. 双屏全屏跳回到主屏_双屏笔记本了解下?剪视频不要太好使
  6. 关于tomcat启动失败的一个原因
  7. 学mysql需要学python吗_python 学习 第六篇 mysql
  8. 王思聪在京被执行案和解了!已履行5000万
  9. 初学编程者如何摆脱搭建开发环境的困扰?
  10. 【编译打包】drbd 8.4.2
  11. mysql所选路径已经存在_Win10环境下安装压缩包版本MySQL-8.0.13
  12. linux mbr转gpt分区,免重装!迄今为止最详细的MBR转GPT分区攻略
  13. U盘中文件夹变为应用程序exe不能打开怎样修复
  14. SEO系列之站内优化
  15. 高逼格的console.log(),要不来看下
  16. 基于 RFID 与 ZigBee 智能汽车装配生产线车模追溯系统设计
  17. 六大原则之迪米特法则
  18. java判断object对象为不为空
  19. fix: brew: Permission denied @ apply2files - /usr/local/lib/node_modules/webpack/es/ters-brow
  20. Showdoc升级版本记录

热门文章

  1. VariantNet--简易的神经网络做DNA测序
  2. 超级经典回帖专用语(转载)
  3. cad转excel插件c2e_cad表格转换器2016
  4. 解决阿里云轻量应用服务器不能安装应用
  5. 2008年金融危机的背后原因以及感悟
  6. 到底如何理解文本?一文读懂命名实体识别(实体消歧和实体统一)
  7. 软件安全性与软件可靠性
  8. 锁定计算机怎么设密码忘记了怎么办,电脑怎么设置锁屏密码 电脑锁屏密码忘记了怎么办...
  9. 爬虫项目1[爬取小猪短租数据]
  10. Dubbo调优 -- 超时TimeOut