第九章 優化器

2021-10-02 23:06:16 字數 606 閱讀 9790

優化器的作用是在ast中找出靜態子樹並打上標記,有以下兩個好處:

每次重新渲染時,不需要為靜態子樹建立新節點

在虛擬dom中打補丁的過程可以跳過

優化器的內部實現主要分為兩個步驟:

在ast中找出所有靜態節點並打上標記

在ast中找出所有靜態根節點並打上標記

通過遞迴的方式從上向下標記靜態節點時,如果乙個節點被標記為靜態節點,但它的子節點卻被標記為動態節點,就說明該節點不是靜態節點,可以將它改為動態節點。

靜態節點的特徵是它的子節點必須是靜態節點。

標記完靜態節點之後需要標記靜態根節點,其標記方式也是使用遞迴的方式從上向下尋找,在尋找的過程中遇到的第乙個靜態節點就為靜態根節點,同時不再繼續向下找。

有兩種特殊的情況:

如果乙個靜態根節點的子節點只有乙個文字節點,那麼不會將它標記為靜態根節點,即便它也屬於靜態根節點;

如果找到的靜態根節點是乙個沒有子節點的靜態節點,那麼也不會將它標記為靜態根節點。

以上兩種情況的原因是優化成本大於收益

以上過程的相關**此處不再展示。

第九章(筆記)

轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...

第九章作業

班級 0401304 學號 2013211526 姓名 鄧小俊 2.身份驗證 依據使用者所提供的身份資訊,來進行登入驗證,可以再細分為使用者是否可以登入sql sever 使用者是否可以登入到指定的目標資料庫等。授權 已通過身份驗證的使用者,檢查其所被賦予的許可權,是否可以訪問或者執行目標的物件 3...

第九章 引用

引用擁有指標的所有功能,只是語法更加的簡單 1 引用就是別名,變數的另外乙個名字,變數和別名它們的位址是一樣的,操作別名就是操作變數 2 引用就是別名常量,一旦引用被初始化就不能再改變了 可以理解為指標常量,指向的值不能改變,能改變的只是它的該位址處的值 3 引用物件huamn mike human...