亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

1.兩種原因

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

第二種,類加載器不同造成取不到值,本質(zhì)原因就是不同類加載器造成多個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 { //默認(rèn)類加載器加載StaticClassLoaderTest,并設(shè)置值 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.總結(jié)

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

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

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 三区在线观看 | 99re最新地址精品视频 | 日韩女性性生生活视频 | 中文日产国产精品久久 | 亚洲精国产一区二区三区 | 激情影院在线视频永久观看 | 高h文bl | 久久99精品九九九久久婷婷 | 亚洲精品不卡久久久久久 | 欧美日韩亚洲综合 | 日韩欧美亚洲综合久久99e | 美女在线国产 | 日本a一级毛片免费观看 | 黄色工厂在线播放 | 亚洲三级在线看 | 国产成人亚洲精品一区二区在线看 | 国产在线91观看免费观看 | 欧美一级特黄aa大片婷婷 | 欧美久操 | 国产大片黄在线播放 | 欧美一区二区三区免费 | 亚洲黄色一级毛片 | 国产精品第3页 | 综合欧美日韩 | 情趣视频网站视频在线观看 | 久久国产免费观看精品3 | 婷婷综合久久狠狠色99h | 在线播放国产不卡免费视频 | 成 人色 网 站999 | 黄色一级欧美 | 国产成版人视频网站免费下 | 三片在线观看 | 国产日韩欧美在线视频免费观看 | 久久视频在线免费观看 | 在线观看视频日韩 | 中文一区二区在线观看 | 亚洲毛片在线看 | 中文在线第一页 | 国内精品久久久久久久aa护士 | 一级国产特黄aa大片 | 欧美一级视频免费观看 |