ThreadLocal的使用可以参考struts2的ActionContext,个人觉得这种使用方式是比较优雅的:
1、ThreadLocal是业务无关的对象,对于开发代码来说,越少使用越好。
这样能够尽可能的减少技术细节分散开发者对业务逻辑的关注
public class ActionContext implements Serializable { static ThreadLocal<ActionContext> actionContext = new ThreadLocal<ActionContext>(); /** * Sets the action context for the current thread. * * @param context the action context. */ public static void setContext(ActionContext context) { actionContext.set(context); } /** * Returns the ActionContext specific to the current thread. * * @return the ActionContext for the current thread, is never <tt>null</tt>. */ public static ActionContext getContext() { return actionContext.get(); } }
经过这种封装后,整个ActionContext类,只有3个地方会涉及ThreadLocal的使用:变量定义、set、get。这3处使用都很简单,不容易出错
相关推荐
**标题:“JDK的ThreadLocal理解(一)使用和测试”** **正文:** ThreadLocal是Java中的一个非常重要的线程安全工具类,它在多线程编程中扮演着独特的角色。通过创建ThreadLocal实例,我们可以为每个线程提供一个...
### 理解ThreadLocal #### 一、ThreadLocal简介 `ThreadLocal`是一个非常有用的类,它在Java 1.2版本中...理解`ThreadLocal`的工作原理及其使用方法,可以帮助我们在多线程编程中更加高效地处理数据和状态管理问题。
**JAVAJDK使用教程** Java JDK,全称为Java Development Kit,是开发和运行Java应用程序的基础工具集。它包括了Java编译器、Java虚拟机(JVM)、类库和其他必要的工具,使得开发者能够创建、调试和运行Java程序。本...
JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...
深入理解ThreadLocal工作原理及使用示例 ThreadLocal是Java提供的一种解决多线程程序并发问题的工具类,自JDK1.2版本以来提供了java.lang.ThreadLocal类。ThreadLocal的主要作用是为每个使用该变量的线程提供独立的...
**ThreadLocal概述** ThreadLocal是Java中的一个线程局部变量类,它...通过理解ThreadLocal的原理和最佳实践,我们可以更有效地利用它来解决多线程环境下的数据隔离问题,同时也需要注意防止可能出现的内存泄漏风险。
尽管现在已经被更新的版本如JDK 8、JDK 11和JDK 17所取代,但JDK 1.4对于理解Java的发展历程具有重要意义。 **主要特性** 1. **异常链**:在JDK 1.4中,引入了异常链机制,允许一个异常捕获另一个异常,并将它们...
标题“jdk8-251 kettle9.2使用jdk版本”和描述中提及了两个关键组件:Java Development Kit (JDK) 的8u251版本以及Kettle 9.2,这是一款流行的数据集成工具,也称为Pentaho Data Integration(PDI)。这些组件在IT...
Oracle官方HTML格式说明:jdk17生产环境免费使用说明及许可协议(Oracle No-Fee Terms and Conditions) Java 17 LTS is the latest long-term support release for the Java SE platform. JDK 17 binaries are ...
JDK11使用MapStruct
mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk...
Java Development Kit(JDK)是Java编程语言的核心组件,它包含编译器、调试器、JRE(Java Runtime ...同时,了解JDK的基本安装和环境变量配置原理,对于理解Java的运行机制和后续的开发工作都是非常有帮助的。
本资源包集合包括了JDK6、JDK7和JDK8三个重要版本,分别代表了Java发展历程中的关键节点。 JDK6,也称为Java SE 6(标准版6),于2006年发布,是Java平台的一个重要里程碑。此版本引入了许多新特性,如改进的Swing...
**Java JDK 11 使用详解** Java Development Kit (JDK) 是Java编程语言的核心组件,它包含Java编译器、Java运行环境、调试工具和其他必要的工具,使得开发者能够编写、测试和部署Java应用程序。JDK 11是Java的一个...
#### 三、WebLogic服务器更换JDK ##### 1. 修改WebLogic服务器配置 - 进入WebLogic安装目录下的`bin`文件夹。 - 编辑`setDomainEnv.sh`文件(对于UNIX/Linux环境),找到如下配置段落: ```bash BEA_JAVA_HOME="" ...
CHM格式的文档是Windows系统的帮助文件,包含详尽的类库参考和教程,帮助开发者查询和理解各种类和方法的使用。对于不熟悉英文的开发者来说,中文版的JDK文档无疑是一个巨大的帮助,它能确保开发者准确理解API的用法...
jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 资源共享
7. **THIRDPARTYLICENSEREADME.txt**:列出JDK中可能包含的第三方软件的版权和许可信息,确保对所有使用的开源组件的合规性。 8. **LICENSE.rtf**:以RTF格式提供JDK的许可协议,内容与LICENSE文件类似。 **多版本...
在 Windows Server 2003 系统上,使用 JDK5.0,最大可设置为 1478m。 在设置堆大小时,需要考虑多方面的因素,例如操作系统、物理内存、虚拟内存等。典型的堆大小设置为:-Xmx3550m -Xms3550m -Xmn2g -Xss128k。...