`
程序新手
  • 浏览: 58434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

分析ThreadLocal在JAVA中的应用

阅读更多

  概念:JAVA的API中对ThreadLocal有这样的解释
         该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联
  代码实现:
        1)创建ThreadLocal的类变量和普通类变量
        2)用线程A修改和读取两个对象的值
        3)用线程B再次修改和读取两个对象的值
        4)再次用线程A读取两个变量的值
  
   结论:线程A读取的ThreadLocal类变量会和线程B修改之前的一致,而普通类变量是线程B修改之后的结果
   开发中的实现:
        1)在Hibernate框架中的的session对象openSession和getCurrentSession是用ThreadLocal来实现的
        2)在开发中可以用来做线程级别的缓存
        3)...
  
  • 大小: 22.8 KB
分享到:
评论

相关推荐

    Java ThreadLocal类应用实战案例分析

    主要介绍了Java ThreadLocal类应用,结合具体案例形式分析了java ThreadLocal类的功能、原理、用法及相关操作注意事项,需要的朋友可以参考下

    架构探险-从零开始写javaweb框架

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    java-threadlocal-profiler:从 code.google.compjava-threadlocal-profiler 自动导出

    用于 Java 应用程序分析的小库。 收集同一伞下的所有性能指标,可以一起打印出来。 最好与一些日志框架一起使用。 核心没有任何依赖关系,因此可以位于类加载器层次结构的顶部。 支持 Spring 框架和 Liferay。 用法...

    架构探险――从零开始写Java Web框架_黄勇

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    架构探险——从零开始写Java Web框架 绝对完整!强烈推荐

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    架构探险 从零开始写Java Web框架.pdf

    本书首先从一个简单的Web应用开始,让读者学会如何使用IDEA、Maven Git等开发工具搭建Java web应用:接着通过一个简单的应用场景,为该Web应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该Web...

    架构探险:从零开始写Java Web框架

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    java面试题及技巧4

    │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar │ │ │ 经典的104-147模拟题.rar │ │ │ │ │ ├─035 │ │ │ 2003.10.5.15.51.43.TestKing%...

    java面试题目与技巧1

    │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar │ │ │ 经典的104-147模拟题.rar │ │ │ │ │ ├─035 │ │ │ 2003.10.5.15.51.43.TestKing%...

    架构探险:从零开始写JAVA_WEB框架

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    java面试题以及技巧

    │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar │ │ │ 经典的104-147模拟题.rar │ │ │ │ │ ├─035 │ │ │ 2003.10.5.15.51.43.TestKing%...

    Java并发编程(学习笔记).xmind

    某些应用程序中存在比较明显的任务边界,而在其他一些程序中则需要进一步分析才能揭示出粒度更细的并行性 任务的取消和关闭 任务取消 停止基于线程的服务 处理非正常的线程终止 JVM关闭 线程池...

    架构探险——从零开始写Java Web框架高清带书签pdf

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    架构探险 从零开始写javaweb框架

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    架构探险-----从零开始写javaweb框架.pdf

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    疯狂JAVA讲义

    学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在子类中再定义一个内部类来重写其父类中的内部类? 211 6.7.4 局部内部类 211 6.7.5 匿名内部类 212 6.7.6 闭包(Closure)和回调 215 6.8 ...

    架构探险 从零开始写JavaWeb框架

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    架构探险:从零开始写 JavaWeb 框架 高清版 pdf

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    架构探险 从零开始写javaweb框架 高清pdf 书签版

    接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web ...

    java面试题及技巧3

    │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar │ │ │ 经典的104-147模拟题.rar │ │ │ │ │ ├─035 │ │ │ 2003.10.5.15.51.43.TestKing%...

Global site tag (gtag.js) - Google Analytics