2020 05 07 具體講一下CMS流程

2022-06-09 16:42:14 字數 338 閱讀 1753

福哥答案2020-05-07:

福哥口訣法:c初並重清(初始標記、併發標記、重新標記、併發清除)

整個過程分為 4 個步驟,包括:

初始標記:僅僅只是標記一下 gcroots 能直接關聯到的物件,速度很快,需要停頓(stw-stoptheworld)。

併發標記:從 gcroot 開始對堆中物件進行可達性分析,找到存活物件,它在整個**過程中耗時最長,不需要停頓。

重新標記:為了修正併發標記期間因使用者程式繼續運作而導致標記產生變動的那一部分物件的標記記錄,需要停頓(stw)。這個階段的停頓時間一般 會比初始標記階段稍長一些,但遠比併發標記的時間短。

併發清除:不需要停頓。

講一下MVC和MVVM,MVP?

mvc全名是model view controller,是模型 model 檢視 view 控制器 controller 的縮寫,model 呈現資料,view 呈現使用者介面,而 view controller 調節它兩者之間的互動。mvvm全名是model view view model,vie...

通俗的講一下 閉包

閉包是指有權訪問另乙個函式作用域中的變數的函式。建立閉包的常見方式,就是在乙個函式內部建立另乙個函式。常見閉包出現的問題 function createfunction console.log i 的值 i return result createfunction 返回的結果 當我們呼叫 creat...

講一下git的相關問題

首先git是來進行專案版本控制的。git地常用命令有哪些?有git add,git status,git commit m,git push,git pull等。如果我們需要多人操作同乙個檔案,出現衝突,那麼衝突該如何解決?當遇到多人協作修改同乙個檔案時出現衝突,就需要先將遠端檔案先git pull...