中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

哈爾濱做網(wǎng)站建設(shè)廣州網(wǎng)絡(luò)推廣策劃公司

哈爾濱做網(wǎng)站建設(shè),廣州網(wǎng)絡(luò)推廣策劃公司,網(wǎng)站開發(fā)設(shè)計課程教案,電子商務(wù)營銷策劃方案GC復(fù)制算法是Marvin L.Minsky在1963年研究出來的算法。說簡單點,就是只把某個空間的活動對象復(fù)制到其它空間,把原空間里的所有對象都回收掉。這是一個大膽的想法。在此,我們將復(fù)制活動對象的原空間稱為From空間,將粘貼活動對象的新…

GC復(fù)制算法是Marvin L.Minsky在1963年研究出來的算法。說簡單點,就是只把某個空間的活動對象復(fù)制到其它空間,把原空間里的所有對象都回收掉。這是一個大膽的想法。在此,我們將復(fù)制活動對象的原空間稱為From空間,將粘貼活動對象的新空間稱為To空間。

1、什么是復(fù)制算法

GC復(fù)制算法是利用From空間進行分配的。當From空間被完全占滿時,GC會將活動對象全部復(fù)制到To空間。當復(fù)制完成后,該算法會把From空間和To空間互換。GC也就結(jié)束了。From空間和To空間大小必須一致。這是為了保證能把From空間中所有活動對象都收納到To空間里。
在這里插入圖片描述

copying(){$free = $to_startfor(r:$roots)*r = copy(*r)swap($from_start, &to_start)
}

2、Copy函數(shù)

copy()函數(shù)將作為參數(shù)給出的對象復(fù)制,再遞歸復(fù)制其子對象。

copy(obj){if(obj.tag != COPIED)copy_data($free,obj,obj.size)obj.tag = COPIEDobj.forwarding = $free$free += obj.sizefor(child:children(obj.forwarding))*child = copy(*child)return obj.forwarding
}			

3、new_obj函數(shù)

跟標記清除算法不同,復(fù)制算法的分配過程非常簡單

new_obj(size){if($free + size > $free_start + HEAP_SIZE/2)copying()if($free + size > $free_start + HEAP_SIZE/2)allocation_fail()obj = $freeobj.size = size&free += sizereturn obj;
}

4、執(zhí)行過程

4.1初始狀態(tài)
為了給GC做準備,這里事先將$free指針指向To空間的開頭
在這里插入圖片描述

4.2 B被復(fù)制后
在這里插入圖片描述

4.3 A被復(fù)制后
在這里插入圖片描述

接下來就是按照同樣步驟復(fù)制G及其子對象E
4.4 GC結(jié)束后
在這里插入圖片描述

5、優(yōu)缺點

5.1優(yōu)點

  1. 優(yōu)秀的吞吐量
  2. 可實現(xiàn)高速分配
  3. 不會發(fā)生碎片化
  4. 與緩存兼容

5.2缺點

  1. 堆使用效率低下
  2. 不兼容保守式GC算法
  3. 遞歸調(diào)用函數(shù)

6、Cheney的復(fù)制算法

C.J.Cheney于1970年研究出GC算法,相比Fenichel和Yochelson的GC復(fù)制算法,Cheney的算法不是簡單遞歸的,而是迭代地進行復(fù)制。

copying(){scan = $free = $to_startfor(r:$roots)*r = copy(*r)while(scan != $free)for(child : children(scan))*child = copy(*child)scan += scan.sizeswap($from_start, &to_start)
}

6.1 copy函數(shù)

copy(obj){if(is_pointer_to_heap(obj.forwarding,$to_start) == FALSE)copy_data($free,obj,obj.size)obj.forwarding = $free$free += obj.sizereturn obj.forwarding
}			

6.2 執(zhí)行過程
6.2.1初始狀態(tài)多引入了一個scan
在這里插入圖片描述
6.2.2在cheney算法中,首先復(fù)制所有從根直接引用的對象
在這里插入圖片描述
6.2.3 然后在所有b和g
在這里插入圖片描述

6.3 優(yōu)缺點
優(yōu)點:因為該算法是迭代的,所以他可以抑制調(diào)用函數(shù)額外負擔和棧的消耗。特別是拿堆用作隊列,省去了用于搜索的內(nèi)存空間這一點,實在是令人贊嘆。
缺點:有引用關(guān)系的對象并不相鄰,不兼容緩存。當然這是因為他是局域廣度優(yōu)先遍歷,我們可以通過修改其搜索算法,利用深度優(yōu)先遍歷來解決這個問題。

7、多空間復(fù)制算法

GC復(fù)制算法最大的缺點就是只能利用半個堆,這是因為該算法將整個堆分成了兩半,每次都要騰出一半來。
多空間復(fù)制算法就是把堆N等分,對其中2塊空間執(zhí)行GC復(fù)制算法,剩下的N-2塊空間執(zhí)行GC標記清除算法,也就是把這兩種算法組合起來使用。

優(yōu)點:更有效的利用了堆空間
缺點:因為只有兩塊空間進行了復(fù)制算法,剩下的仍然是標記清除算法,因此就會有標記清除算法的固有問題:分配耗費時間,分塊碎片化等。

http://www.risenshineclean.com/news/21685.html

相關(guān)文章:

  • 說幾個手機可以看的網(wǎng)站seo系統(tǒng)培訓哪家好
  • 做網(wǎng)站定金是多少淘寶指數(shù)網(wǎng)站
  • 杭州移動公司網(wǎng)站各種手藝培訓班
  • 佛山順德容桂網(wǎng)站制作廣告推廣一個月多少錢
  • 購物網(wǎng)站排名榜搜索引擎優(yōu)化的內(nèi)部優(yōu)化
  • ??谧鼍W(wǎng)站深圳網(wǎng)絡(luò)營銷的公司哪家好
  • 舟山建設(shè)信息港門戶網(wǎng)站網(wǎng)站托管代運營
  • 給境外合法網(wǎng)站做數(shù)據(jù)推客平臺
  • 做漢字網(wǎng)站的外國人搜索引擎優(yōu)化技巧
  • 深圳保障性住房管理辦法湖南seo優(yōu)化哪家好
  • 游戲網(wǎng)站怎么賺錢最近一個月的熱點事件
  • 網(wǎng)站開發(fā)應(yīng)走什么科目淘寶搜索詞排名查詢
  • 服務(wù)之家網(wǎng)站推廣公司今日重大新聞事件
  • 重慶網(wǎng)站建設(shè)機構(gòu)保定網(wǎng)站推廣公司
  • 網(wǎng)頁版qq空間電腦版長沙網(wǎng)站優(yōu)化方案
  • 做網(wǎng)站需要切圖嗎aso優(yōu)化平臺
  • 怎么把網(wǎng)站的標題做的炫酷互聯(lián)網(wǎng)營銷師培訓教材
  • 做網(wǎng)站圖片自動切換seo推廣什么意思
  • 網(wǎng)站設(shè)計尺寸重慶seo快速優(yōu)化
  • 手機網(wǎng)站跳轉(zhuǎn)長春頭條新聞今天
  • wordpress 禁止評論關(guān)鍵詞優(yōu)化顧問
  • 做網(wǎng)站需要注冊公司嗎今日新聞內(nèi)容摘抄
  • 建設(shè)政務(wù)門戶網(wǎng)站的基本意義網(wǎng)絡(luò)推廣的途徑有哪些
  • 無錫做網(wǎng)站價格搜索風云排行榜
  • 記事本做網(wǎng)站怎么調(diào)整圖片間距seo優(yōu)化團隊
  • 做網(wǎng)站切圖是什么意思百度關(guān)鍵詞推廣費用
  • 企業(yè)網(wǎng)站建設(shè)的一般原則國外網(wǎng)站如何搭建網(wǎng)頁
  • 源代碼建網(wǎng)站百度seo2022新算法更新
  • 泰州網(wǎng)站建設(shè)服務(wù)熱線國際實時新聞
  • wordpress后臺504seo查詢工具