电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java中ThreadLocal取不到值的兩種原因

瀏覽:9日期:2022-08-21 08:38:01

1.兩種原因

第一種,也是最常見的一種,就是多個線程使用ThreadLocal

第二種,類加載器不同造成取不到值,本質原因就是不同類加載器造成多個ThreadLocal對象

public class StaticClassLoaderTest { protected static final ThreadLocal<Object> local = new ThreadLocal<Object>(); //cusLoader加載器加載的對象 private Test3 test3; public StaticClassLoaderTest() { try { test3 = (Test3) Class.forName('gittest.Test3', true, new cusLoader()).newInstance(); } catch (Exception e) { e.printStackTrace(); } } public Test3 getTest3() { return test3; } public static void main(String[] args) { try { //默認類加載器加載StaticClassLoaderTest,并設置值 StaticClassLoaderTest.local.set(new Object()); new StaticClassLoaderTest().getTest3(); } catch (Exception e) { e.printStackTrace(); } } //自定義類加載器 public static class cusLoader extends ClassLoader { @Override protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException { if (name.contains('StaticClassLoaderTest')) {InputStream is = Thread.currentThread().getContextClassLoader() .getResourceAsStream(name.replace('.', '/') + '.class');ByteArrayOutputStream output = new ByteArrayOutputStream();try { IOUtils.copy(is, output); return defineClass(output.toByteArray(), 0, output.toByteArray().length);}catch (IOException e) { e.printStackTrace();} } return super.loadClass(name, resolve); } }}

public class Test3 { public void test() { //由cusLoader加載器加載StaticClassLoaderTest,并獲取值,由于StaticClassLoaderTest并不相同所以無法獲取到值 System.out.println(StaticClassLoaderTest.local.get()); }}

2.總結

2個累加器加載的對象引用了相同的靜態變量ThreadLocal,實際上ThreadLocal并不是同一個值,所以即使在一個線程中也獲取不到期望的值。

像依賴注入,如果你自己創建了一個對象,然后用手動注入了一個容器創建的依賴,假設這個依賴是自定義類加器創建的,可能會造成這種情況。

到此這篇關于java中ThreadLocal取不到值的兩種原因的文章就介紹到這了,更多相關java ThreadLocal取不到值內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 多物理场仿真软件_电磁仿真软件_EDA多物理场仿真软件 - 裕兴木兰 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 北京企业宣传片拍摄_公司宣传片制作-广告短视频制作_北京宣传片拍摄公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 真空包装机-诸城市坤泰食品机械有限公司| 耐酸泵,耐酸泵厂家-淄博华舜耐腐蚀真空泵 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 液氨泵,液化气泵-淄博「亚泰」燃气设备制造有限公司 | 定制/定做冲锋衣厂家/公司-订做/订制冲锋衣价格/费用-北京圣达信 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 青州开防盗门锁-配汽车芯片钥匙-保险箱钥匙-吉祥修锁店 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 温州在线网| 家乐事净水器官网-净水器厂家「官方」 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 电子天平-华志电子天平厂家| 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 真空乳化机-灌装封尾机-首页-温州精灌| 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 上海佳武自动化科技有限公司| 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 工控机-工业平板电脑-研华工控机-研越无风扇嵌入式box工控机 | 模型公司_模型制作_沙盘模型报价-中国模型网 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 |