??Java?е?ThreadLocal
?????dreamcatcher-cx ???????[ 2016/12/14 14:17:32 ] ??????????????????? Java
????????????????get????
public T get() {
Thread t = Thread.currentThread();//1.????????????
ThreadLocalMap map = getMap(t);//2.???????map????
if (map != null) {//3.???map????????threadlocal????key????????Entry??????Entry??????????ɡ?
ThreadLocalMap.Entry e = map.getEntry(this);
if (e != null)
return (T)e.value;
}
return setInitialValue();//???map?????????????е???set???get????????ù?set?????????remove?????????趨????
}
????setInitialValue
1 private T setInitialValue() {
2 T value = initialValue();//???????
3 Thread t = Thread.currentThread();
4 ThreadLocalMap map = getMap(t);
5 if (map != null)
6 map.set(this?? value);
7 else
8 createMap(t?? value);
9 return value;
10 }
????initialValue???????????null???????????protected??????????д??
????1 protected T initialValue() {
????2 return null;
????3 }
????????????????????????ThreadLocal????????????????????????????
???????????????
??????????????????????????????ThreadLocal??????????????????????????????????????????????????????????????????“???????”???????????????????????????????????????????ThreadLocal??????????????????????????ThreadLocal??????????????????????????“???????”??????????????????????μ? ??е????????+???е????????????????????????????“?????????”???????????????????????????????????????????κε??????????????????κ????
?????????????????????ν????????????????????????????????????????????????????е?????????乲????????????£??????????漰???????????????????????????????????????????????ThreadLocal???????????????
??????????費(fèi)????????????????????????????????????ó???????????????????????????????????????????“????”????????????????????????????????????web?????е?servlet??servlet??????????????????????????????????servlet???????????CGI????У?N????????N????????????????????????????
????ThreadLocal??spring??????????????Hibernate??session???????г??????web?????У??????????????????? HttpSession??web???????????????????????????????????????ThreadLocal?????????????????????????session????????????tomcat??Щweb????????????????????????????????????????????ν?????????????????set???????????????remove??
??????

???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11