无码色偷偷亚洲国内自拍_国产男女性潮高清免费网站_69SEX久久精品国产麻豆_日本高清在线一区二区三区

千鋒教育-做有情懷、有良心、有品質的職業教育機構

當前位置:首頁  >  IT面試題  >  大數據面試題  >  正文

threadlocal原理

來源:千鋒教育
發布時間:2022-09-26 11:47:00
分享

  ThreadLocal就是一種以**空間換時間**的做法,在每個Thread里面維護了一個以開地址法實現的ThreadLocal.ThreadLocalMap,把數據進行隔離,數據不共享,自然就沒有線程安全方面的問題了

  4.1實際通過ThreadLocal創建的副本是存儲在每個線程自己的threadLocals中的;

  4.2.為何threadLocals的類型ThreadLocalMap的鍵值為ThreadLocal對象,因為每個線程中可有多個threadLocal變量;

  4.3.在進行get之前,必須先set,否則會報空指針異常;

  因為在上面的代碼分析過程中,我們發現如果沒有先set的話,即在map中查找不到對應的存儲,則會通過調用setInitialValue方法返回i,而在setInitialValue方法中,有一個語句是T value = initialValue(), 而默認情況下,initialValue方法返回的是null。

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

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

相關推薦

  • 請列舉幾個常用的Linux命令 man :幫助命令 sudo : 獲取root權限 jps : 查看java進程 ps -ef : 查看進程 ps -aux : 查看進程 netstat -nltcp : 監聽端口 free : 內存查看 top :動態 查看服務器資源信息
  • 單利模式是什么,線程安全嗎? 也就是說通過單例我們可以實現數據的全局訪問,還可以再全局實現功能的調用.單例分成懶漢式和餓漢式,對于懶漢式會有線程安全問題,需要進行同步處理,對于餓漢式不會有線程安全問題,不需要同步.
  • nio和bio的區別,為啥nio好 同步阻塞IO(JAVA BIO/Blocking IO ): 同步并阻塞,服務器實現模式為一個連接一個線程,即客戶端有連接請求時服務器端就需要啟動一個線程進行處理,如果這個連接不做任何事情會造成不必要的線程開銷.
  • threadlocal原理 因為在上面的代碼分析過程中,我們發現如果沒有先set的話,即在map中查找不到對應的存儲,則會通過調用setInitialValue方法返回i,而在setInitialValue方法中,有一個語句是T value = initialValue(), 而默認情況下,init...
  • arrayList和LinkedList的區別 Linkedlist基于鏈表的動態數組,數據添加刪除效率高,只需要改變指針指向即可,但是訪問數據的平均效率低,需要對鏈表進行遍歷。對于新增和刪除操作add和remove,LinedList比較占優勢,因為ArrayList要移動數據。
  • 垃圾回收機制(算法原理) 復制清除法:將內存分為兩塊,其中一塊寫滿后,遍歷對象標記有用的對象復制到另一塊,然后把這一塊清理,這樣復制的內容很少而且內存始終連續,缺點是始終需要有一塊內存空出來用于復制。