一个使用线程局部存储(ThreadLocal)技术导致用户会话信息泄露案例的剖析
我们的系统是一个B/S架构的WEB系统,采用的是类似struts的基于action的WEB框架,近期系统上线后碰到了一个用户会话信息泄露的问题,虽然问题最终于半天后得到了解决,但对此问题的剖析有利于我们更深地理解与多线程并发相关的线程局部存储(ThreadLocal)技术,故特撰此文与大家共飨。
线程局部存储(ThreadLocal)技术是多线程技术中用于解决并发问题的一个最轻量级且使用起来最简单的技术。其原理是将一块内存与线程关联,每个线程访问的的变量都存在于本线程的局部存储区中,因此多个线程间访问相同的变 ...
近日看Ext-1.0.1源代码,在Ext.js的第552行有如下代码:
format : function(format){
var args = Array.prototype.slice.call(arguments, 1);
return format.replace(/\{(\d+)\}/g, function(m, i){
return args[i];
});
}
该方法实现如下功能:
String.format("name is {0} and age is {1}", "John" ...
- 浏览: 56761 次
- 性别:

- 来自: shenzhen

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
OGNL & ValueStack 入门
谢谢楼主,好文章。
-- by workman93 -
OGNL & ValueStack 入门
项目中刚用到,学习学习!
-- by lovemybook -
OGNL & ValueStack 入门
通俗易懂,等待下篇的到来
-- by zhuyx808 -
OGNL & ValueStack 入门
官方文档的思维方式和国内程序员的思维还是有出入的,虽然照着写没问题,但是不看源码 ...
-- by duanaiguo -
OGNL & ValueStack 入门
引用 很好的文章,希望LZ继续进行OGNL 的语法讲解。 谢谢各位的鼓励! ...
-- by jxb8901






评论排行榜