專利名稱:基于Java虛擬機(jī)的并發(fā)垃圾收集器框架的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于Java虛擬機(jī)垃圾回收器技術(shù)領(lǐng)域,具體涉及一種基于Java虛擬機(jī)的 并發(fā)垃圾回收器框架。
背景技術(shù):
伴隨著高級(jí)編程語(yǔ)言的興起,垃圾收集(Garbage Collection, GC)技術(shù)在系統(tǒng)安
全和資源管理方面扮演著越來越重要的角色。在很多編程系統(tǒng)中,程序編寫者需要在程序編寫過程中顯示的釋放不使用的內(nèi) 存空間。在這種設(shè)計(jì)中,程序編寫者的失誤很容易造成程序的內(nèi)存泄露或者異常終止, 這在很大程度上影響了系統(tǒng)的穩(wěn)定性和可靠性。而垃圾回收技術(shù)要求虛擬機(jī)執(zhí)行判斷和 清理程序不再使用的內(nèi)存空間。所以垃圾收集技術(shù)能有效地避免這些情況的發(fā)生,它使 內(nèi)存的管理自動(dòng)化,程序編寫者不再需要對(duì)不使用的內(nèi)存進(jìn)行釋放,垃圾收集器會(huì)在一 個(gè)合適的時(shí)間對(duì)這個(gè)堆進(jìn)行處理,把已經(jīng)不再使用的空間釋放掉。這樣的設(shè)計(jì)使內(nèi)存的 管理更加模塊化,并具有更高的可靠性。常見的垃圾收集算法在系統(tǒng)堆內(nèi)存耗盡時(shí),虛擬機(jī)會(huì)“暫?!彼袘?yīng)用程序線 程進(jìn)行垃圾收集。等垃圾收集工作結(jié)束,應(yīng)用程序線程會(huì)被重新啟動(dòng)繼續(xù)其執(zhí)行。這種 技術(shù)被稱為“停止世界(stop-the-worid)”的垃圾收集。隨著現(xiàn)代應(yīng)用程序使用內(nèi)存量 增大、對(duì)象數(shù)量增多,“停止世界”垃圾收集所造成的停頓嚴(yán)重影響了應(yīng)用程序的響應(yīng) 時(shí)間。于是為了消除“停止世界”垃圾收集造成性能影響的問題,很多研究機(jī)構(gòu)和 個(gè)人都在致力于實(shí)現(xiàn)可以使垃圾收集器在應(yīng)用程序線程執(zhí)行的情況下進(jìn)行垃圾收集的技 術(shù),以此來提高應(yīng)用程序的效率,這樣的技術(shù)被稱為并發(fā)垃圾收集技術(shù)。但是目前已有 的并發(fā)垃圾收集技術(shù)實(shí)現(xiàn)都比較分散,并且實(shí)現(xiàn)比較繁瑣,對(duì)于不同的系統(tǒng)的可移植性 較差也是一個(gè)比較大的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有并發(fā)垃圾收集技術(shù)實(shí)現(xiàn)比較分散的問題,提出一個(gè) 并發(fā)垃圾收集器的統(tǒng)一框架。本發(fā)明調(diào)研了不同的并發(fā)垃圾收集算法的差異,發(fā)現(xiàn)不同的并發(fā)垃圾收集算法 之間還是有很大程度的相似度,只有在具體的算法實(shí)現(xiàn)時(shí)有較大的差異,這樣的調(diào)研結(jié) 果說明了建立統(tǒng)一框架的可能性和優(yōu)越性。本發(fā)明采用的技術(shù)方案為為并發(fā)垃圾收集器設(shè)計(jì)一個(gè)統(tǒng)一框架,可以在其中 方便地實(shí)現(xiàn)和改進(jìn)各種不同的并發(fā)垃圾收集算法。并且將垃圾收集器本身設(shè)計(jì)成多線程 (GC線程),以此來提高垃圾收集的效率。并發(fā)垃圾收集器的統(tǒng)一框架是專門為并發(fā)垃圾收集器所設(shè)計(jì)的一個(gè)統(tǒng)一框架。 通過研究不同的并發(fā)垃圾收集算法的異同點(diǎn),該框架提供了通用的垃圾收集數(shù)據(jù)處理和合并、垃圾收集等功能。通過該框架,并發(fā)垃圾收集器的開發(fā)者只需要實(shí)現(xiàn)其核心算法 就可以實(shí)現(xiàn)一個(gè)工作良好的并發(fā)垃圾收集器,極大的方便了各種不同的并發(fā)垃圾收集算 法實(shí)現(xiàn)和改進(jìn)。并發(fā)垃圾收集器的統(tǒng)一框架主要分為并發(fā)算法框架和調(diào)度器兩個(gè)模塊。本發(fā)明提出的基于Java虛擬機(jī)的并發(fā)垃圾收集器框架,分為并發(fā)算法框架和調(diào) 度器兩個(gè)模塊兩個(gè)部分,其中,所述并發(fā)算法框架,在設(shè)計(jì)上主要通過對(duì)當(dāng)前存在的并 發(fā)垃圾收集算法來進(jìn)行差異分析,最終劃分算法中便于重用和不能重用的模塊,并且針 對(duì)不同的特性分別進(jìn)行實(shí)現(xiàn);現(xiàn)有的框架中又把整個(gè)并發(fā)算法框架分成核心算法實(shí)現(xiàn)、 數(shù)據(jù)并行處理和合并、并發(fā)收集這三個(gè)模塊;所述調(diào)度器主要由調(diào)度觸發(fā)器、調(diào)度算 法、耗盡處理三個(gè)模塊組成;該調(diào)度器而言,主要有兩個(gè)方面的作用
第一,決定何時(shí)觸發(fā)GC;
第二,處理系統(tǒng)資源耗盡的情況;按照系統(tǒng)資源耗盡發(fā)生的時(shí)刻段,把耗盡情況分 成三種一體發(fā)生在應(yīng)用程序運(yùn)行中,垃圾收集線程沒有啟動(dòng);發(fā)生在垃圾收集線程啟 動(dòng)后的跟蹤階段;以及發(fā)生在垃圾收集線程啟動(dòng)后的收集清理階段;調(diào)度器對(duì)這三種情 況分別進(jìn)行處理
(1)對(duì)于第一種情況,只把所有的線程都停下來,做一次“停止世界”的垃圾收集 過程,之后再讓程序繼續(xù)運(yùn)行;
(2)當(dāng)系統(tǒng)資源耗盡出現(xiàn)在垃圾收集線程啟動(dòng)后的跟蹤階段,調(diào)度器停掉其他應(yīng)用 程序的線程,讓垃圾收集線程把跟蹤階段完成,先得到對(duì)象跟蹤信息;之后用這個(gè)對(duì)象 跟蹤信息做一次“停止世界”的垃圾收集過程來釋放內(nèi)存;
(3)對(duì)于系統(tǒng)資源耗盡出現(xiàn)在垃圾收集線程啟動(dòng)后的收集清理階段,調(diào)度器只停掉 其他應(yīng)用程序的線程,讓垃圾收集線程把收集清理階段完成。并發(fā)垃圾收集器的最大特點(diǎn)就是GC線程和應(yīng)用程序線程同時(shí)運(yùn)行,而且無論應(yīng) 用程序還是垃圾收集器都可能是多線程。我們?cè)O(shè)計(jì)了一個(gè)GC線程組和應(yīng)用程序線程組 共享的狀態(tài)變量來保證線程之間的同步。圖1描述了并發(fā)垃圾收集器運(yùn)行過程中線程對(duì) 該狀態(tài)變量進(jìn)行的改變。如果考慮系統(tǒng)堆內(nèi)存提前耗盡的情況,就可以把垃圾收集過程表示為6個(gè)狀態(tài) 之間的轉(zhuǎn)換,它們之間的轉(zhuǎn)換關(guān)系如圖2所示,分別表示的作用為
1、狀態(tài)①應(yīng)用程序正常運(yùn)行,每次申請(qǐng)內(nèi)存空間的操作都會(huì)調(diào)用GC調(diào)度器來檢 測(cè)是否需要觸發(fā)并發(fā)垃圾收集過程,需要的話轉(zhuǎn)到狀態(tài)②;
2、狀態(tài)②應(yīng)用程序線程分別停頓,收集其執(zhí)行棧上的根節(jié)點(diǎn),放入根節(jié)點(diǎn)集合, 并打開當(dāng)前線程的寫攔截器。當(dāng)最后一個(gè)線程的根節(jié)點(diǎn)集合收集完成后,啟動(dòng)GC線程 開始執(zhí)行追蹤過程,轉(zhuǎn)到狀態(tài)③;
3、狀態(tài)③追蹤過程與應(yīng)用程序并發(fā)的運(yùn)行,當(dāng)最后一個(gè)GC線程完成追蹤過程 后,轉(zhuǎn)到狀態(tài)④;
4、狀態(tài)④追蹤過程完成,當(dāng)應(yīng)用程序有新的申請(qǐng)內(nèi)存操作時(shí)會(huì)觸發(fā)并發(fā)的收集過 程,轉(zhuǎn)到狀態(tài)⑤;
5、狀態(tài)⑤收集過程與應(yīng)用程序并發(fā)運(yùn)行,當(dāng)最后一個(gè)GC線程完成收集過程后轉(zhuǎn) 到狀態(tài)①;
6、狀態(tài)⑥垃圾收集過程處于狀態(tài)①、③、⑤時(shí),如果系統(tǒng)堆內(nèi)存被應(yīng)用程序耗盡,將進(jìn)入狀態(tài)⑥進(jìn)行處理(系統(tǒng)堆內(nèi)存耗盡處理),隨后轉(zhuǎn)到狀態(tài)①。
在實(shí)現(xiàn)過程中,應(yīng)該考慮到多個(gè)應(yīng)用程序線程之間的協(xié)同問題以及多個(gè)GC線程之間 的協(xié)同問題。所以我們加入一些多個(gè)應(yīng)用程序線程共享的同步變量和多個(gè)GC線程共享 的同步變量來處理這些問題,與之相對(duì)應(yīng)的狀態(tài)轉(zhuǎn)換過程如圖3。上述這種狀態(tài)轉(zhuǎn)換是我們?cè)O(shè)計(jì)的統(tǒng)一框架提供的專門為并發(fā)垃圾收集器設(shè)計(jì) 的,只要利用上述的狀態(tài)變換,程序員能實(shí)現(xiàn)絕大多數(shù)的并發(fā)垃圾收集算法?;谶@ 個(gè)統(tǒng)一框架,已經(jīng)實(shí)現(xiàn)了等三種并發(fā)垃圾收集算法,它們是Mostly-Concurrent算法和 Snapshot-at-the-Beginning算法兩種不同實(shí)現(xiàn),這也說明了統(tǒng)一框架可以方便地實(shí)現(xiàn)不同 并行垃圾收集技術(shù)。這里也對(duì)這三種并行垃圾收集技術(shù)進(jìn)行簡(jiǎn)單的介紹
Mostly-Concurrent算法的基本思想是先用并發(fā)的GC線程去做盡量多的“標(biāo) 記”工作,然后用一次“停止世界”追蹤過程來完成剩下的“標(biāo)記”工作;而 Snapshot-at-the-Begiraiing算法的主要思想是分別對(duì)當(dāng)前運(yùn)行的每個(gè)應(yīng)用程序線程的運(yùn)行 棧做一次“快照”(snapshot),得到一個(gè)完整的根節(jié)點(diǎn)集合,然后GC線程從這個(gè)根節(jié)點(diǎn) 集合開始執(zhí)行并發(fā)的追蹤過程。在具體實(shí)施方式
一節(jié)中將對(duì)這三種算法和數(shù)據(jù)結(jié)構(gòu)進(jìn)行 詳細(xì)描述。本發(fā)明的有益效果是1)提供了一個(gè)實(shí)現(xiàn)并發(fā)垃圾收集器的統(tǒng)一框架,讓各種 不同的算法能在一個(gè)框架下方便的被實(shí)現(xiàn)。2)框架的實(shí)現(xiàn)不針對(duì)具體的某一平臺(tái),這樣 的設(shè)計(jì)增加了并行垃圾收集技術(shù)的平臺(tái)可移植性。3)解決了在同一平臺(tái)下實(shí)驗(yàn)不同并行 垃圾收集技術(shù)的問題,這樣就可以在一個(gè)特定的平臺(tái)下研究不同并行垃圾收集技術(shù)的優(yōu) 劣性。4)在目前構(gòu)建的框架下設(shè)計(jì)并實(shí)現(xiàn)了三種并發(fā)垃圾收集算法,有效的利用系統(tǒng)資 源,證明了該框架的實(shí)用性。5)通過測(cè)試表明,并發(fā)垃圾收集器能有效的消除服務(wù)端應(yīng) 用程序因垃圾收集所導(dǎo)致的停頓;對(duì)于客戶端應(yīng)用程序,也能在降低停頓時(shí)間的同時(shí), 有效的縮短應(yīng)用程序的執(zhí)行的時(shí)間。
圖1所示為并發(fā)垃圾收集器中應(yīng)用程序線程和GC線程的同步關(guān)系。圖2所示為并發(fā)垃圾收集的狀態(tài)轉(zhuǎn)換。圖3所示為并發(fā)垃圾收集的運(yùn)行過程中的狀態(tài)轉(zhuǎn)換過程。圖4所示為并發(fā)垃圾收集器的堆空間耗盡處理。
具體實(shí)施例方式本發(fā)明按照上述并發(fā)垃圾收集框架主要分為并發(fā)算法框架和調(diào)度器兩個(gè)模塊。 下面就對(duì)本框架中這兩個(gè)模塊的具體實(shí)施作一個(gè)詳細(xì)的介紹。在介紹并發(fā)算法框架的同 時(shí),還會(huì)對(duì)基于本框架實(shí)現(xiàn)的三種并發(fā)垃圾收集算法進(jìn)行介紹。圖2為并發(fā)垃圾收集的狀態(tài)轉(zhuǎn)換圖,并發(fā)垃圾收集框架的運(yùn)行就是這6個(gè)狀態(tài)的 轉(zhuǎn)換。前5個(gè)狀態(tài)屬于并發(fā)算法框架的范疇,最后第6個(gè)狀態(tài)是調(diào)度器中實(shí)現(xiàn)的內(nèi)存資 源耗盡處理。1)并發(fā)算法框架。并發(fā)算法框架是這整個(gè)統(tǒng)一框架的核心部分,在設(shè)計(jì)上主要 通過對(duì)當(dāng)前存在的并發(fā)垃圾收集算法來進(jìn)行差異分析,最終劃分算法中便于重用和不能重用的模塊,并且針對(duì)不同的特性分別進(jìn)行實(shí)現(xiàn)?,F(xiàn)有的框架中又把整個(gè)并發(fā)算法框架 分成了核心算法實(shí)現(xiàn)、數(shù)據(jù)并行處理和合并、并發(fā)收集這三個(gè)模塊。經(jīng)過調(diào)研發(fā)現(xiàn),在并發(fā)垃圾收集技術(shù)中很大一部分的處理是可以統(tǒng)一實(shí)現(xiàn)的。 例如并發(fā)垃圾收集技術(shù)中有大量對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行并發(fā)處理和合并的操作,而這一類的 操作是不同的并發(fā)垃圾收集技術(shù)都需要的,所以統(tǒng)一框架通過抽象和提取出一個(gè)適用于 所有并發(fā)垃圾收集技術(shù)的數(shù)據(jù)并行處理和合并的模塊,很大程度上減少了實(shí)現(xiàn)并發(fā)垃圾 收集算法的工作量難度。不同的并發(fā)垃圾收集技術(shù)之間的差異最大的只體現(xiàn)在具體算法 的核心思想和實(shí)現(xiàn)步驟上。簡(jiǎn)單的說,并發(fā)算法框架中的數(shù)據(jù)并行處理和合并模塊以及 并發(fā)收集模塊適用于所有的并發(fā)垃圾收集技術(shù),在本框架下實(shí)現(xiàn)不同的并發(fā)收集方法只 要實(shí)現(xiàn)其核心算法部分就可以了。a)核心算法實(shí)現(xiàn)
b)數(shù)據(jù)并行處理
c)并發(fā)收集方法
2)調(diào)度器。調(diào)度器主要由調(diào)度觸發(fā)器、調(diào)度算法、耗盡處理三個(gè)模塊組成。對(duì)調(diào) 度器而言,主要有兩個(gè)方面的作用
第一,調(diào)度器需要決定何時(shí)觸發(fā)GC。因?yàn)槿绻占l(fā)生過早,就沒有充分利 用系統(tǒng)內(nèi)存資源并且造成垃圾收集的頻率過快,這樣會(huì)影響應(yīng)用程序性能;如果發(fā)生過 晚,系統(tǒng)堆內(nèi)存可能在并發(fā)垃圾收集完成前被耗盡,進(jìn)入狀態(tài)⑥進(jìn)行“耗盡處理”,這 樣又增加了應(yīng)用程序的停頓時(shí)間。對(duì)如何找到這樣的GC觸發(fā)點(diǎn),其實(shí)同樣有很多不同的實(shí)現(xiàn)方式,框架中給出了 一個(gè)GC_SChedUle接口,在整個(gè)并發(fā)垃圾收集器框架中都統(tǒng)一使用這個(gè)接口進(jìn)行垃圾收集 線程的管理。這樣方便程序員通過這個(gè)接口來實(shí)現(xiàn)不同的垃圾收集的調(diào)度算法。第二,調(diào)度器需要處理系統(tǒng)資源耗盡的情況。目前實(shí)現(xiàn)的統(tǒng)一框架按照系統(tǒng)資 源耗盡發(fā)生的時(shí)刻段,可以把耗盡情況分成三種一體發(fā)生在應(yīng)用程序運(yùn)行中,垃圾收 集線程沒有啟動(dòng);發(fā)生在垃圾收集線程啟動(dòng)后的跟蹤階段;以及發(fā)生在垃圾收集線程啟 動(dòng)后的收集清理階段。調(diào)度器從應(yīng)用程序的運(yùn)行效率最大化的角度考慮,并利用并發(fā)垃 圾收集的特點(diǎn),對(duì)這三種情況分別進(jìn)行了處理。(4)對(duì)于第一種情況,因?yàn)槔占€程還沒有啟動(dòng),沒有可以利用的信息, 所以只能把所有的線程都停下來,做一次“停止世界”的垃圾收集過程。之后再讓程序 繼續(xù)運(yùn)行。(5)當(dāng)系統(tǒng)資源耗盡出現(xiàn)在垃圾收集線程啟動(dòng)后的跟蹤階段,那么并發(fā)垃圾收 集階段的跟蹤信息時(shí)可以復(fù)用的。調(diào)度器的做法是停掉其他應(yīng)用程序的線程,讓垃圾收 集線程把跟蹤階段完成,先得到對(duì)象跟蹤信息。之后用這個(gè)對(duì)象跟蹤信息做一次“停止 世界”的垃圾收集過程來釋放內(nèi)存。這樣就省去了一次跟蹤處理。對(duì)于系統(tǒng)資源耗盡出現(xiàn)在垃圾收集線程啟動(dòng)后的收集清理階段,處理就更為簡(jiǎn) 單了。因?yàn)橹暗母櫤颓謇磉^程都還是適用的,調(diào)度只要停掉其他應(yīng)用程序的線程, 讓垃圾收集線程把收集清理階段完成就可以了。
權(quán)利要求
1.一種基于Java虛擬機(jī)的并發(fā)垃圾收集器框架,其特征在于該框架分為并發(fā)算法框 架和調(diào)度器兩個(gè)模塊兩個(gè)部分,其中,所述并發(fā)算法框架,在設(shè)計(jì)上主要通過對(duì)當(dāng)前存 在的并發(fā)垃圾收集算法來進(jìn)行差異分析,最終劃分算法中便于重用和不能重用的模塊, 并且針對(duì)不同的特性分別進(jìn)行實(shí)現(xiàn);現(xiàn)有的框架中又把整個(gè)并發(fā)算法框架分成核心算法 實(shí)現(xiàn)、數(shù)據(jù)并行處理和合并、并發(fā)收集這三個(gè)模塊;所述調(diào)度器主要由調(diào)度觸發(fā)器、調(diào) 度算法、耗盡處理三個(gè)模塊組成;該調(diào)度器而言,主要有兩個(gè)方面的作用第一,決定何時(shí)觸發(fā)GC;第二,處理系統(tǒng)資源耗盡的情況;按照系統(tǒng)資源耗盡發(fā)生的時(shí)刻段,把耗盡情況分 成三種一體發(fā)生在應(yīng)用程序運(yùn)行中,垃圾收集線程沒有啟動(dòng);發(fā)生在垃圾收集線程啟 動(dòng)后的跟蹤階段;以及發(fā)生在垃圾收集線程啟動(dòng)后的收集清理階段;調(diào)度器對(duì)這三種情 況分別進(jìn)行處理對(duì)于第一種情況,只把所有的線程都停下來,做一次“停止世界”的垃圾收集過 程,之后再讓程序繼續(xù)運(yùn)行;當(dāng)系統(tǒng)資源耗盡出現(xiàn)在垃圾收集線程啟動(dòng)后的跟蹤階段,調(diào)度器停掉其他應(yīng)用程序 的線程,讓垃圾收集線程把跟蹤階段完成,先得到對(duì)象跟蹤信息;之后用這個(gè)對(duì)象跟蹤 信息做一次“停止世界”的垃圾收集過程來釋放內(nèi)存;對(duì)于系統(tǒng)資源耗盡出現(xiàn)在垃圾收集線程啟動(dòng)后的收集清理階段,調(diào)度器只停掉其他 應(yīng)用程序的線程,讓垃圾收集線程把收集清理階段完成。
2.—種如權(quán)利要求1所述基于Java虛擬機(jī)的并發(fā)垃圾收集器框架,其特征在于,框架 的各個(gè)狀態(tài)之間的轉(zhuǎn)換關(guān)系為狀態(tài)①應(yīng)用程序正常運(yùn)行,每次申請(qǐng)內(nèi)存空間的操作都會(huì)調(diào)用GC調(diào)度器來檢測(cè)是 否需要觸發(fā)并發(fā)垃圾收集過程,需要的話轉(zhuǎn)到狀態(tài)②;狀態(tài)②應(yīng)用程序線程分別停頓,收集其執(zhí)行棧上的根節(jié)點(diǎn),放入根節(jié)點(diǎn)集合,并打 開當(dāng)前線程的寫攔截器;當(dāng)最后一個(gè)線程的根節(jié)點(diǎn)集合收集完成后,啟動(dòng)GC線程開始 執(zhí)行追蹤過程,轉(zhuǎn)到狀態(tài)③;狀態(tài)③追蹤過程與應(yīng)用程序并發(fā)的運(yùn)行,當(dāng)最后一個(gè)GC線程完成追蹤過程后,轉(zhuǎn) 到狀態(tài)④;狀態(tài)④追蹤過程完成,當(dāng)應(yīng)用程序有新的申請(qǐng)內(nèi)存操作時(shí)會(huì)觸發(fā)并發(fā)的收集過程, 轉(zhuǎn)到狀態(tài)⑤;狀態(tài)⑤收集過程與應(yīng)用程序并發(fā)運(yùn)行,當(dāng)最后一個(gè)GC線程完成收集過程后轉(zhuǎn)到狀 態(tài)①;狀態(tài)⑥垃圾收集過程處于狀態(tài)①、③、⑤時(shí),如果系統(tǒng)堆內(nèi)存被應(yīng)用程序耗盡, 將進(jìn)入狀態(tài)⑥進(jìn)行系統(tǒng)堆內(nèi)存耗盡處理,隨后轉(zhuǎn)到狀態(tài)①。
全文摘要
本發(fā)明屬于Java虛擬機(jī)垃圾回收器技術(shù)領(lǐng)域,具體涉及一種基于Java虛擬機(jī)的并發(fā)垃圾回收器框架。該框架分為并發(fā)算法框架和調(diào)度器兩個(gè)模塊兩個(gè)部分,其中,所述并發(fā)算法框架,在設(shè)計(jì)上主要通過對(duì)當(dāng)前存在的并發(fā)垃圾收集算法來進(jìn)行差異分析,最終劃分算法中便于重用和不能重用的模塊,并且針對(duì)不同的特性分別進(jìn)行實(shí)現(xiàn);所述調(diào)度器主要由調(diào)度觸發(fā)器、調(diào)度算法、耗盡處理三個(gè)模塊組成;該調(diào)度器主要有兩個(gè)方面的作用決定何時(shí)觸發(fā)GC,處理系統(tǒng)資源耗盡的情況。本發(fā)明增加了并行垃圾收集技術(shù)的平臺(tái)可移植性,解決了在同一平臺(tái)下實(shí)驗(yàn)不同并行垃圾收集技術(shù)的問題,可以在一個(gè)特定的平臺(tái)下研究不同并行垃圾收集技術(shù)的優(yōu)劣性。
文檔編號(hào)G06F9/46GK102023891SQ201010595749
公開日2011年4月20日 申請(qǐng)日期2010年12月20日 優(yōu)先權(quán)日2010年12月20日
發(fā)明者周尋, 張?jiān)? 楊珉, 王迪, 臧斌宇 申請(qǐng)人:復(fù)旦大學(xué)