zoukankan      html  css  js  c++  java
  • 慎用ThreadLocal

    ThreadLocal的作用

    1)保存在当前线程计算的中间结果

    2)保存上下文信息,比如用户的身份等等

    ThreadLocal的副作用

    1) 信息泄露。 在服务器环境下(比如WebLogic), 线程往往被保存在线程池中。由于每个用户的请求(Request)都是通过一个线程来处理的,当线程处理完一个用户的请求之后,服务器应用程序会将该线程存放在线程池中。当下一个用户请求时,这个线程又被调度来处理请求。这种情况下,上一个用户的上下文信息(比如身份信息)将被得到。

    2)内存泄露。

    解决方法

    当每个用户的请求处理完成之后,调用ThreaLocal.remove()方法将数据清除

    参考:

    http://dave.srednal.com/archives/14

  • 相关阅读:
    js(一)
    css (一)
    html
    Spring MVC(四)
    Spring MVC(三)
    Spring MVC(二)
    Spring MVC(一)
    Druid应用
    C3P0使用
    jdbc(二)
  • 原文地址:https://www.cnblogs.com/cando/p/2287805.html
Copyright © 2011-2022 走看看