簡單的總結:
為什麼擴容的數量都是2的冪指數呢
這樣做可以加快速度,很多節點在擴容前後都是可以保持不變的
concurrenthashmap的弱一致性?
在get(key)的時候是在鍊錶進行遍歷,有可能返回的是過時的資料。
那怎麼保持強一致性呢?
collections.synchronizedmap()方法。
在多執行緒的情況下,並且是jdk1.7的場景
應該盡量避免使用concurrenthashmap的size,containsvalue的方法,很影響效能的。
在jdk的1.8中,這個size是直接算好的,可以直接使用,用的是addcount()方法
concurrenthashmap的預設容量是16,載入因子是0.75?
是通過大量的實現得出來的結果。
根據陣列元素中,第乙個結點資料結構是node還是treenode可以判斷該位置下是鍊錶還是紅黑樹
jdk8下,把concurrenthashmap中,entry換成了node
concurrenthashmap與1.8中hashmap不同點?
它並不是轉換成紅黑樹,而是把這些結點放在treebin中,有treebin完成對紅黑樹的包裝。
treenode在concurrenthashmap中擴充套件自node類,而並非是hashmap中的擴充套件自linkedhashmap.entry類,也就是說treenode帶有next指標。
在concurrenthashmap構造方法中,在new出乙個map的例項時,並不會建立其中的陣列等等相關的部件,只是進行簡單的屬性設定而已。
真正的初始化是在put的時候去完成的。
hashtable,使用的synchronized來保證執行緒安全的。
執行緒中的一些函式
在linux下用pcb來模擬的,輕量級程序 作業系統cpu排程的乙個基本單位 是乙個程式的執行線路 int pthread create pthread t thread,id const pthread attr t attr,設定執行緒的屬性,attr為null表 使 預設屬性 void sta...
python入門的一些簡單總結
1.python 如何是輸出不換行 py 2.7 print 可使其不換行 py 3.x print x,end 2.python如何輸出空格?把空格作為乙個字串,a 然後輸出的時候連線起來即可.3.python3.x 的整除 3 2 得到的是直接去下整數 1.3 2 得到1.5 4.保留一位小數 ...
jeecms中的一些總結
本次做公司 基本熟悉了jeecms的使用,在使用jeecms的if語句時,有以下幾個小 1.當給模型新增乙個欄位時,在使用標籤拿該字段,必須給標籤中加attr這個屬性。如下例子 email是jeecms的模板中沒有的字段,所以通過tab bean標籤獲取的時候需要加attr屬性 2.在jeecms的...