執行緒中的一些簡單總結

2021-10-23 05:01:58 字數 865 閱讀 9027

簡單的總結:

為什麼擴容的數量都是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的...