千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

當(dāng)前位置:首頁(yè)  >  IT面試題  >  大數(shù)據(jù)面試題  >  正文

threadlocal原理

來(lái)源:千鋒教育
發(fā)布時(shí)間:2022-09-26 11:47:00
分享

  ThreadLocal就是一種以**空間換時(shí)間**的做法,在每個(gè)Thread里面維護(hù)了一個(gè)以開(kāi)地址法實(shí)現(xiàn)的ThreadLocal.ThreadLocalMap,把數(shù)據(jù)進(jìn)行隔離,數(shù)據(jù)不共享,自然就沒(méi)有線程安全方面的問(wèn)題了

threadlocal原理

  4.1實(shí)際通過(guò)ThreadLocal創(chuàng)建的副本是存儲(chǔ)在每個(gè)線程自己的threadLocals中的;

  4.2.為何threadLocals的類型ThreadLocalMap的鍵值為ThreadLocal對(duì)象,因?yàn)槊總€(gè)線程中可有多個(gè)threadLocal變量;

  4.3.在進(jìn)行g(shù)et之前,必須先set,否則會(huì)報(bào)空指針異常;

  因?yàn)樵谏厦娴拇a分析過(guò)程中,我們發(fā)現(xiàn)如果沒(méi)有先set的話,即在map中查找不到對(duì)應(yīng)的存儲(chǔ),則會(huì)通過(guò)調(diào)用setInitialValue方法返回i,而在setInitialValue方法中,有一個(gè)語(yǔ)句是T value = initialValue(), 而默認(rèn)情況下,initialValue方法返回的是null。

  4.4 如果想在get之前不需要調(diào)用set就能正常訪問(wèn)的話,必須重寫initialValue()方法。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

學(xué)習(xí)資源站

  • 免費(fèi)全套視頻教程
  • 企業(yè)實(shí)戰(zhàn)項(xiàng)目源碼
  • 大廠筆試真題題庫(kù)
  • 行業(yè)前瞻發(fā)展趨勢(shì)

相關(guān)推薦

  • 請(qǐng)列舉幾個(gè)常用的Linux命令 man :幫助命令 sudo : 獲取root權(quán)限 jps : 查看java進(jìn)程 ps -ef : 查看進(jìn)程 ps -aux : 查看進(jìn)程 netstat -nltcp : 監(jiān)聽(tīng)端口 free : 內(nèi)存查看 top :動(dòng)態(tài) 查看服務(wù)器資源信息
  • 單利模式是什么,線程安全嗎? 也就是說(shuō)通過(guò)單例我們可以實(shí)現(xiàn)數(shù)據(jù)的全局訪問(wèn),還可以再全局實(shí)現(xiàn)功能的調(diào)用.單例分成懶漢式和餓漢式,對(duì)于懶漢式會(huì)有線程安全問(wèn)題,需要進(jìn)行同步處理,對(duì)于餓漢式不會(huì)有線程安全問(wèn)題,不需要同步.
  • nio和bio的區(qū)別,為啥nio好 同步阻塞IO(JAVA BIO/Blocking IO ): 同步并阻塞,服務(wù)器實(shí)現(xiàn)模式為一個(gè)連接一個(gè)線程,即客戶端有連接請(qǐng)求時(shí)服務(wù)器端就需要啟動(dòng)一個(gè)線程進(jìn)行處理,如果這個(gè)連接不做任何事情會(huì)造成不必要的線程開(kāi)銷.
  • threadlocal原理 因?yàn)樵谏厦娴拇a分析過(guò)程中,我們發(fā)現(xiàn)如果沒(méi)有先set的話,即在map中查找不到對(duì)應(yīng)的存儲(chǔ),則會(huì)通過(guò)調(diào)用setInitialValue方法返回i,而在setInitialValue方法中,有一個(gè)語(yǔ)句是T value = initialValue(), 而默認(rèn)情況下,init...
  • arrayList和LinkedList的區(qū)別 Linkedlist基于鏈表的動(dòng)態(tài)數(shù)組,數(shù)據(jù)添加刪除效率高,只需要改變指針指向即可,但是訪問(wèn)數(shù)據(jù)的平均效率低,需要對(duì)鏈表進(jìn)行遍歷。對(duì)于新增和刪除操作add和remove,LinedList比較占優(yōu)勢(shì),因?yàn)锳rrayList要移動(dòng)數(shù)據(jù)。
  • 垃圾回收機(jī)制(算法原理) 復(fù)制清除法:將內(nèi)存分為兩塊,其中一塊寫滿后,遍歷對(duì)象標(biāo)記有用的對(duì)象復(fù)制到另一塊,然后把這一塊清理,這樣復(fù)制的內(nèi)容很少而且內(nèi)存始終連續(xù),缺點(diǎn)是始終需要有一塊內(nèi)存空出來(lái)用于復(fù)制。
  • 主站蜘蛛池模板: 一区二区中文字幕在线观看| 2021国产精品视频一区| 3d动漫精品一区视频在线观看| 亚洲欧美国产国产综合一区| 精品日韩在线视频一区二区三区 | 成人丝袜激情一区二区| 中文字幕一区在线| 国产乱码精品一区二区三区 | 久久中文字幕无码一区二区| 日本大香伊一区二区三区| 国产成人一区二区三区精品久久| 久久精品黄AA片一区二区三区 | 亚洲乱色熟女一区二区三区蜜臀 | 熟妇人妻一区二区三区四区| 日本一区中文字幕日本一二三区视频| 国产精品伦一区二区三级视频| 日本一区二区三区四区视频| bt7086福利一区国产| 日韩精品中文字幕无码一区| 国语精品一区二区三区| 视频一区在线免费观看| 国产91久久精品一区二区| 久久99国产精品一区二区| 国产精品亚洲产品一区二区三区 | 精品国产福利在线观看一区 | 国产AV午夜精品一区二区入口| 精品人体无码一区二区三区| 一区二区三区在线观看中文字幕| 国产精品综合一区二区三区| 亚洲AV无码一区二区乱子仑| 亚洲av无一区二区三区| 无码av人妻一区二区三区四区| 亚洲美女视频一区二区三区| 99精品国产高清一区二区| 国产精品va无码一区二区| 亚洲成在人天堂一区二区| 国产乱码一区二区三区爽爽爽| 国产婷婷色一区二区三区| 国产伦理一区二区| 美女毛片一区二区三区四区| 精品国产aⅴ无码一区二区|