白丝美女被狂躁免费视频网站,500av导航大全精品,yw.193.cnc爆乳尤物未满,97se亚洲综合色区,аⅴ天堂中文在线网官网

首頁 / 專利庫 / 面料 / 整經(jīng) / 用于存儲器管理的保守垃圾收集和經(jīng)標(biāo)記的整數(shù)

用于存儲器管理的保守垃圾收集和經(jīng)標(biāo)記的整數(shù)

閱讀:1021發(fā)布:2020-09-12

專利匯可以提供用于存儲器管理的保守垃圾收集和經(jīng)標(biāo)記的整數(shù)專利檢索,專利查詢,專利分析的服務(wù)。并且公開了用于保守垃圾收集的各方面。在一個方面,標(biāo)識出包含在調(diào)用棧中的包括整數(shù)和 指針 的根對象。整數(shù)表示被標(biāo)記并且可以同未經(jīng)標(biāo)記的指針表示相區(qū)分。 跟蹤 根對象到相應(yīng)的 存儲器 位置 ,使得對指針表示執(zhí)行后續(xù)跟蹤并對整數(shù)表示跳過后續(xù)跟蹤。然后,釋放分配給調(diào)用棧不可到達(dá)的對象的存儲器。在另一方面,標(biāo)記與調(diào)用棧相關(guān)聯(lián)的對象圖,并且生成堆,所述堆包括包含在調(diào)用棧的經(jīng)執(zhí)行部分中的對象。跟蹤調(diào)用棧的未經(jīng)執(zhí)行部分中所包括的對象到堆上的相應(yīng)存儲器位置,使得僅僅對未經(jīng)標(biāo)記的指針表示執(zhí)行后續(xù)跟蹤。然后,清除與調(diào)用棧的未經(jīng)執(zhí)行部分不可到達(dá)的堆對象相對應(yīng)的存儲器位置。,下面是用于存儲器管理的保守垃圾收集和經(jīng)標(biāo)記的整數(shù)專利的具體信息內(nèi)容。

1.一種用于存儲器管理的保守垃圾收集的方法,包括:
標(biāo)識出包含在調(diào)用棧中的根對象,其中所述根對象包括整數(shù)表示和指針表示;
標(biāo)記所述整數(shù)表示并將經(jīng)標(biāo)記的整數(shù)表示包括在對象圖中,其中經(jīng)標(biāo)記的整數(shù)表示能夠同未經(jīng)標(biāo)記的指針表示相區(qū)分;
跟蹤所述根對象到相應(yīng)的一組存儲器位置;
對與未經(jīng)標(biāo)記的指針表示相關(guān)聯(lián)的一組存儲器位置執(zhí)行后續(xù)跟蹤,并且對與由所述對象圖所標(biāo)識的經(jīng)標(biāo)記的整數(shù)表示相關(guān)聯(lián)的一組存儲器位置跳過所述后續(xù)跟蹤;以及釋放分配給所述調(diào)用棧不可到達(dá)的一組對象的存儲器。
2.如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)記包括:將所述整數(shù)表示變換成不同的數(shù)據(jù)結(jié)構(gòu)。
3.如權(quán)利要求2所述的方法,其特征在于,所述變換包括:將所述不同的數(shù)據(jù)結(jié)構(gòu)中的至少一位專用于標(biāo)記。
4.如權(quán)利要求1所述的方法,其特征在于,所述釋放包括:將所述可到達(dá)對象分別保存在堆的原始存儲位置中。
5.如權(quán)利要求4所述的方法,其特征在于,所述保存包括根據(jù)所述堆內(nèi)的固定的一組邊界來維護(hù)堆對象的分隔。
6.如權(quán)利要求1所述的方法,其特征在于,還包括:
執(zhí)行所述調(diào)用棧,其中被調(diào)用的對象被放置在堆上;以及
將所述堆的大小與閾值相比較,其中垃圾收集算法的發(fā)起基于所述堆的大小是否超過所述閾值。
7.如權(quán)利要求6所述的方法,其特征在于,所述執(zhí)行包括編譯java腳本。
8.如權(quán)利要求6所述的方法,其特征在于,所述執(zhí)行包括修改文檔對象模型。
9.一種存儲器管理設(shè)備,包括:
具有存儲在其上的計算機(jī)可執(zhí)行組件的存儲器;以及
通信地耦合到所述存儲器的處理器,所述處理器被配置為執(zhí)行所述計算機(jī)可執(zhí)行組件,所述計算機(jī)可執(zhí)行組件包括:
掃描組件,其被配置為標(biāo)識出包含在調(diào)用棧中的根對象,其中所述根對象包括整數(shù)表示和指針表示;
標(biāo)記組件,其被配置為在對象圖中標(biāo)記所述整數(shù)表示,其中經(jīng)標(biāo)記的整數(shù)表示能夠同未經(jīng)標(biāo)記的指針表示相區(qū)分;
跟蹤組件,其被配置為跟蹤所述根對象到相應(yīng)的一組存儲器位置,其中對與未經(jīng)標(biāo)記的指針表示相關(guān)聯(lián)的一組存儲器位置執(zhí)行后續(xù)跟蹤,并且對與由所述對象圖所標(biāo)識的經(jīng)標(biāo)記的整數(shù)表示相關(guān)聯(lián)的一組存儲器位置跳過所述后續(xù)跟蹤;以及
回收組件,其被配置為釋放分配給所述調(diào)用棧不可到達(dá)的一組對象的存儲器。
10.如權(quán)利要求9所述的存儲器管理設(shè)備,其特征在于,所述標(biāo)記組件被配置為將所述整數(shù)表示變換成不同的數(shù)據(jù)結(jié)構(gòu)。
11.如權(quán)利要求10所述的存儲器管理設(shè)備,其特征在于,所述標(biāo)記組件被配置為將所述不同的數(shù)據(jù)結(jié)構(gòu)中的至少一位專用于標(biāo)記。
12.如權(quán)利要求9所述的存儲器管理設(shè)備,其特征在于,所述回收組件被配置為將可到達(dá)對象分別保存在堆的原始存儲位置中。
13.如權(quán)利要求12所述的存儲器管理設(shè)備,其特征在于,所述回收組件(560)被配置為根據(jù)所述堆內(nèi)的固定的一組邊界來維護(hù)堆對象的分隔。
14.如權(quán)利要求9所述的存儲器管理設(shè)備,其特征在于,所述回收組件被配置為把被所述調(diào)用棧調(diào)用的對象放置到堆上,并且其中所述回收組件還被配置為基于所述堆的大小是否超過閾值來發(fā)起垃圾收集算法。
15.如權(quán)利要求9所述的存儲器管理設(shè)備,其特征在于,所述調(diào)用棧與java腳本的編譯相關(guān)聯(lián)。

說明書全文

用于存儲器管理的保守垃圾收集和經(jīng)標(biāo)記的整數(shù)

背景技術(shù)

[0001] 根據(jù)與一些常規(guī)系統(tǒng)有關(guān)的背景技術(shù),應(yīng)當(dāng)注意的是,計算設(shè)備具有傳統(tǒng)上已存儲的信息和相關(guān)聯(lián)的應(yīng)用。為了這些目的,實(shí)現(xiàn)有效的存儲器管理方案對于實(shí)現(xiàn)增加的計算性能而言是合乎需要的。自動存儲器管理方案中的開發(fā)與手動存儲器管理方案相比是特別合乎需要的。垃圾收集器算法例如是自動存儲器管理方案,其嘗試回收不再被特定程序使用的對象所占用的存儲器。
[0002] 跟蹤式垃圾收集器是最常見類型的垃圾收集器。跟蹤式垃圾收集器首先確定哪些對象是可到達(dá)的(或者,可能是可到達(dá)的),并然后丟棄所有剩余的對象??傻竭_(dá)對象可以被定義成如下的對象:針對所述對象,在程序環(huán)境中存在可直接地或通過來自其他可到達(dá)對象的引用而通向其的某個變量。更確切而言,對象一般可以以兩種方式來到達(dá)。首先,假設(shè)被稱為根的一組區(qū)別(distinguished)的對象的是可到達(dá)的。通常,這些對象包括從調(diào)用棧內(nèi)的任何地方被引用的對象(也就是說,當(dāng)前正被調(diào)用的函數(shù)中的所有局部變量和參數(shù))以及任何全局變量。其次,從可到達(dá)對象被引用的任何對象本身被認(rèn)為是可到達(dá)的。
[0003] 在具有引用類型和未裝箱值類型兩者的語言中,常規(guī)垃圾收集器的一個難題是,垃圾收集器區(qū)分調(diào)用棧上的哪些變量是常規(guī)值(例如整數(shù)),并且哪些是引用(例如指針)。這樣的區(qū)分將在這樣的系統(tǒng)中有益于區(qū)分目的,因?yàn)檎麛?shù)和引用在其他情況下在表示在存儲器中時看上去是相似的。就此而言,垃圾收集器將能夠使用該區(qū)分來判定是否將特定元素視為引用并跟隨該引用,或者其是否僅僅是原語值。
[0004] 當(dāng)今存儲器管理方案的上述缺點(diǎn)僅旨在提供常規(guī)系統(tǒng)的一些問題的概覽,并且不旨在是窮盡性的。在仔細(xì)閱讀了以下詳細(xì)描述后,現(xiàn)有技術(shù)的其他問題和各非限制性性實(shí)施例的對應(yīng)好處可變得顯而易見。
[0005] 概述
[0006] 此處提供了簡化的概述以幫助能夠?qū)σ韵赂敿?xì)的描述和附圖中的示例性、非限制性實(shí)施例的各方面有基本或大體的理解。然而,本概述并不旨在是詳盡的或窮盡的。相反,本概述的唯一目的在于,以簡化的形式提出與一些示例性、非限制性實(shí)施例相關(guān)的一些概念,作為以下各實(shí)施例的更詳細(xì)的描述的序言。
[0007] 根據(jù)一個或多個實(shí)施例及其相應(yīng)公開,結(jié)合用于存儲器管理的保守垃圾收集描述了各個非限制性方面。在這樣的一個方面,提供了用于在保守垃圾收集算法內(nèi)標(biāo)記整數(shù)的方法。該方法可以包括:標(biāo)識出包含在調(diào)用棧中的可包括整數(shù)表示和指針表示的根對象。該實(shí)施例還可以包括標(biāo)記整數(shù)表示使得經(jīng)標(biāo)記的整數(shù)表示能夠同未經(jīng)標(biāo)記的指針表示相區(qū)分。該方法還可以包括:跟蹤根對象到相應(yīng)的一組存儲器位置。對于該特定實(shí)施例,對未經(jīng)標(biāo)記的指針表示執(zhí)行后續(xù)跟蹤,而對經(jīng)標(biāo)記的整數(shù)表示跳過后續(xù)跟蹤。然后,該方法還可以包括:釋放分配給調(diào)用棧不可到達(dá)的一組對象的存儲器。
[0008] 在另一方面,公開了一種被配置為用經(jīng)標(biāo)記的整數(shù)實(shí)現(xiàn)保守垃圾收集算法的存儲器管理設(shè)備。在這一實(shí)施例中,存儲器管理設(shè)備包括被配置為執(zhí)行存儲在存儲器中的計算機(jī)可執(zhí)行組件的處理器。計算機(jī)可執(zhí)行組件包括掃描組件、標(biāo)記組件、跟蹤組件和回收組件。掃描組件被配置為標(biāo)識出包含在調(diào)用棧中的包括整數(shù)表示和指針表示的根對象。然后,標(biāo)記組件被配置為標(biāo)記整數(shù)表示使得經(jīng)標(biāo)記的整數(shù)表示能夠同未經(jīng)標(biāo)記的指針表示區(qū)分開,而跟蹤組件被配置為跟蹤根對象到相應(yīng)的一組存儲器位置。對于該實(shí)施例,跟蹤組件被配置為對未經(jīng)標(biāo)記的指針表示執(zhí)行后續(xù)跟蹤,其中對經(jīng)標(biāo)記整數(shù)表示跳過后續(xù)跟蹤。然后,回收組件被配置為釋放分配給調(diào)用棧不可到達(dá)的一組對象的存儲器。
[0009] 在又一方面,公開了用于在保守垃圾收集算法內(nèi)標(biāo)記整數(shù)的計算機(jī)可讀存儲介質(zhì)。在這一實(shí)施例中,計算機(jī)可讀存儲介質(zhì)包括用于使得至少一個處理器執(zhí)行各個動作的計算機(jī)可讀指令。例如,這樣的動作包括:標(biāo)記與調(diào)用棧相關(guān)聯(lián)的對象圖并且在調(diào)用棧的執(zhí)行期間生成對象的堆。在此,經(jīng)標(biāo)記的對象圖中所包括的根對象包括經(jīng)標(biāo)記的整數(shù)表示和未經(jīng)標(biāo)記的指針表示,而對象的堆包括調(diào)用棧的經(jīng)執(zhí)行部分中所包括的對象。該實(shí)施例還包括:跟蹤包括在調(diào)用棧的未經(jīng)執(zhí)行部分中的未經(jīng)執(zhí)行的對象到堆上的相應(yīng)存儲器位置。對于該特定實(shí)施例,后續(xù)跟蹤對未經(jīng)標(biāo)記的指針表示執(zhí)行,并且對經(jīng)標(biāo)記的指針表示跳過。
與堆上不可到達(dá)的對象相對應(yīng)的存儲器位置然后被清除,其中不可到達(dá)的對象是調(diào)用棧的未經(jīng)執(zhí)行部分所不能到達(dá)的。
[0010] 以下更詳細(xì)地描述其他實(shí)施例和各非限制性性示例、場景和實(shí)現(xiàn)。

附圖說明

[0011] 參考附圖進(jìn)一步描述各非限制性實(shí)施例,在附圖中:
[0012] 圖1示出了根據(jù)一實(shí)施例的促進(jìn)實(shí)現(xiàn)保守垃圾收集算法的示例性系統(tǒng);
[0013] 圖2是示出了根據(jù)一實(shí)施例的對象的示例性堆的示圖;
[0014] 圖3是示出了根據(jù)一實(shí)施例的示例性對象圖的示圖;
[0015] 圖4是示出了根據(jù)一實(shí)施例的對存儲器的示例性釋放的示圖;
[0016] 圖5是示出了根據(jù)一實(shí)施例的示例性存儲器管理設(shè)備的框圖;
[0017] 圖6是示出根據(jù)一實(shí)施例的用于實(shí)現(xiàn)保守垃圾收集算法的示例性非限制性實(shí)施例的流程圖;
[0018] 圖7是示出根據(jù)一實(shí)施例的示例性資源管理單元的框圖;
[0019] 圖8是示出根據(jù)一實(shí)施例的用于標(biāo)記整數(shù)的示例性非限制性實(shí)施例的流程圖。
[0020] 圖9是表示其中可實(shí)現(xiàn)在此處所述的各個實(shí)施例的示例性、非限制性聯(lián)網(wǎng)環(huán)境的框圖;以及
[0021] 圖10是表示其中可實(shí)現(xiàn)此處所述的各個實(shí)施例的一個或多個方面的示例性、非限制性計算系統(tǒng)或操作環(huán)境的框圖。

具體實(shí)施方式

[0022] 概覽
[0023] 如背景技術(shù)中所述,實(shí)現(xiàn)區(qū)分調(diào)用棧上的整數(shù)和指針的垃圾收集算法是合乎需要的。在各個實(shí)施例中,就本機(jī)代碼兼容性重新設(shè)計了存儲器管理。在一方面,腳本對象是得到較少管理的對象,而非只是存儲器的本機(jī)片段,使得各對象間的引用計數(shù)被消除。此外,實(shí)現(xiàn)了保守垃圾收集算法,其中沒有假設(shè)是指針的所有事物都是已知的。以公共語言運(yùn)行時(CLR)垃圾收集器為例,棧被有地鍵入。然而,使用本機(jī)代碼(例如,C代碼和腳本代碼),人們不知道棧上有什么。在這一方面,取代利用引用計數(shù)模型,所構(gòu)思的是直接與對象進(jìn)行交互。
[0024] 在此公開的各個實(shí)施例所針對的是,在保守垃圾收集算法內(nèi)標(biāo)記整數(shù)。為此目的,應(yīng)當(dāng)注意,在此所公開的各方面促進(jìn)對生成偽指針的可能性更小的文檔對象模型執(zhí)行腳本(例如java腳本)。此外,在此公開的各方面減少了偽指針的概率,因?yàn)槲唇?jīng)標(biāo)記的指針和經(jīng)標(biāo)記的整數(shù)是容易區(qū)分的。
[0025] 經(jīng)標(biāo)記的指針和保守垃圾收集
[0026] 當(dāng)web瀏覽體驗(yàn)從具有最少交互性的對信息的單調(diào)呈現(xiàn)發(fā)展成在客戶機(jī)側(cè)具有許多交互性的更豐富應(yīng)用或小程序體驗(yàn)時,若干問題已產(chǎn)生。更一般的,web瀏覽體驗(yàn)已發(fā)展成信息顯示以及與顯示器上的對象的更豐富的交互性的混合。伴隨這種發(fā)展的特定挑戰(zhàn)基于使原來的文檔對象模型(DOM)適應(yīng)于流暢地處理腳本代碼(諸如,java腳本對象)的體驗(yàn),原來的文檔對象模型最初主要是基于客戶機(jī)上的本機(jī)代碼為信息的單調(diào)呈現(xiàn)而設(shè)計的。
[0027] 為了促進(jìn)更期望的用戶體驗(yàn),提高速度是特別重要的。例如,使用過去的飛出菜單,web體驗(yàn)基于與服務(wù)器的通信對延遲進(jìn)行閃爍。然而,腳本允許小程序修改飛出菜單上的DOM,而無需返回到服務(wù)器。由于人們想要在不返回到服務(wù)器的情況下對飛出菜單進(jìn)行更多動作,使腳本代碼快速執(zhí)行已成為挑戰(zhàn)。
[0028] 由于用戶體驗(yàn)會受到高效地腳本化DOM的較大影響,因此將DOM改變成盡可能快以最大化交互響應(yīng)是合乎需要的。在過去,由于對包括使任何對象可腳本化的一組接口(例如,iDispatch、iActiveScript等)的對象鏈接和嵌入(OLE)自動化的使用,腳本引擎和DOM的本機(jī)類之間的通信是低劣的。然而,這些方法是慢的,并因此期望改進(jìn)。因此,在此公開的方面所針對的是通過在保守垃圾收集算法內(nèi)標(biāo)記整數(shù)來提高腳本執(zhí)行速度。
[0029] 圖1示出了根據(jù)一實(shí)施例的便于實(shí)現(xiàn)保守垃圾收集算法的示例性系統(tǒng)。如圖所示,系統(tǒng)100可包括存儲器管理單元110,該單元通信地耦合到存儲器120。在一方面,存儲器管理單元110被配置為實(shí)現(xiàn)保守垃圾收集算法來管理存儲器120中的存儲器空間。此外,存儲器管理單元110被配置為生成與腳本112的執(zhí)行相關(guān)聯(lián)的經(jīng)標(biāo)記的對象圖114。例如,腳本112可以是對DOM執(zhí)行的java腳本,其中java腳本包括要求分配存儲器120中的存儲器空間的各個對象。在特定的實(shí)施例中,為了促進(jìn)對存儲器120內(nèi)整數(shù)和指針的區(qū)分,對應(yīng)于整數(shù)值的腳本對象被存儲器管理單元110標(biāo)記并且被包括在經(jīng)標(biāo)記的對象圖114中。
[0030] 在一方面,分配給腳本對象的存儲器包括將這些對象存儲在堆上。接著參考圖2,提供了根據(jù)一實(shí)施例的對象的示例性堆的框圖。如圖所示,堆200可包括可用存儲器210以及所分配的與各個對象220、230、240、250、260和270相對應(yīng)的存儲器。對于這個特定示例,對象240和270對應(yīng)于指針值,而對象220、230、250和260對應(yīng)于整數(shù)值。也就是說,對象240是引用了對象230所表示的整數(shù)值的指針值,而對象270是引用了對象260所表示的整數(shù)值的指針值。
[0031] 就此而言,對應(yīng)于整數(shù)值的腳本對象可以被標(biāo)記,使得它們可容易地同指針值相區(qū)分。接著參考圖3,提供了示出示例性對象圖的示圖,該示例性對象圖促進(jìn)堆上的經(jīng)標(biāo)記/未經(jīng)標(biāo)記的對象的映射。如所示那樣,對象圖300將包括在未經(jīng)執(zhí)行的調(diào)用棧部分310中的對象映射到堆320。為這些和相關(guān)目的,應(yīng)注意,堆320和可用存儲器330一般分別與堆200、可用存儲器210類似。
[0032] 在一方面,利用對象圖300來確定堆320上的哪些對象是未經(jīng)執(zhí)行的調(diào)用棧部分310可到達(dá)的。也就是說,跟蹤包括在未經(jīng)執(zhí)行的調(diào)用棧部分310中的根對象到堆320中的相應(yīng)存儲器位置,其中與整數(shù)值相對應(yīng)的根對象被標(biāo)記。于是,所構(gòu)思的是,僅僅對可到達(dá)的未經(jīng)標(biāo)記的指針值執(zhí)行對根對象的后續(xù)跟蹤,以標(biāo)識出被那些指針值引用的可到達(dá)對象。
相反,對可到達(dá)的經(jīng)標(biāo)記的整數(shù)值,跳過后續(xù)跟蹤。對于該特定示例,由于可到達(dá)對象390是對應(yīng)于指針值的根對象,因此其未被標(biāo)記。因此,對可到達(dá)對象390執(zhí)行后續(xù)跟蹤,其標(biāo)識出與整數(shù)值相對應(yīng)的可到達(dá)對象380。然而,對可到達(dá)對象340和370跳過后續(xù)跟蹤,因?yàn)檫@些根對象是對應(yīng)于經(jīng)標(biāo)記的整數(shù)值的根對象。
[0033] 應(yīng)當(dāng)注意,還可以利用對象圖300來標(biāo)識未經(jīng)執(zhí)行的調(diào)用棧部分310不可到達(dá)的對象。在這個特定示例中,不可到達(dá)對象350和360被認(rèn)為是不可到達(dá)的,因?yàn)樗鼈儾粚?yīng)于未經(jīng)執(zhí)行的調(diào)用棧部分310中的根對象,而且它們也沒有被可到達(dá)的指針對象引用。
[0034] 在標(biāo)識出不可到達(dá)的對象以后,可以清除被分配給這樣的對象的存儲器。接著參考圖4,提供了根據(jù)一實(shí)施例的對存儲器的示例性釋放的示圖。如所示那樣,對象圖400包括堆420,其一般與堆200和320類似,其中堆420描繪了對之前分配給不可到達(dá)對象350和360的存儲器的釋放。也就是說,除了可用存儲器430以外,堆420現(xiàn)在還包括已釋放的存儲器450和460。然而,在一方面,將可到達(dá)對象440、470、480和490保存在其原始存儲位置中(即,堆420沒有被損壞(collapse))。
[0035] 接著參考圖5,一框圖示出了被配置為根據(jù)各個方面實(shí)現(xiàn)保守垃圾收集算法的示例性存儲器管理單元。如圖所示,存儲器管理單元500可包括處理器組件510、存儲器組件520、掃描組件530、標(biāo)記組件540、跟蹤組件540和回收組件560。
[0036] 在一個方面,處理器組件510被配置為執(zhí)行與執(zhí)行多個功能中的任何功能相關(guān)的計算機(jī)可讀指令。處理器組件510可以是單個處理器或多個處理器,其專用于分析要從存儲器管理單元500傳遞的信息和/或生成可由存儲器組件520、掃描組件530、標(biāo)記組件540、跟蹤組件550和/或回收組件560利用的信息。附加地或可替代地,處理器組件510可被配置為控制存儲器管理單元500的一個或多個組件。
[0037] 在另一方面中,存儲器組件520被耦合至處理器組件510并被配置為存儲由處理器組件510執(zhí)行的計算機(jī)可讀指令。存儲器組件520還可被配置為存儲包括由掃描組件530、標(biāo)記組件540、跟蹤組件550、和/或回收組件560中的任何組件生成的數(shù)據(jù)在內(nèi)的多種其它類型的數(shù)據(jù)中的任何數(shù)據(jù)。存儲器組件520可以被配置為多個不同的配置,包括作為隨機(jī)存取存儲器、帶后備電源的存儲器、硬盤、磁帶等等。還可以在存儲器組件520上實(shí)現(xiàn)各種特征,如壓縮和自動備份,如使用獨(dú)立驅(qū)動器冗余陣列配置。
[0038] 如所示那樣,存儲器管理單元500還可包括掃描組件530。在這樣的實(shí)施例中,掃描組件530被配置為標(biāo)識出調(diào)用棧中包含的包括整數(shù)表示和指針表示的根對象。在此所構(gòu)思的是,將這樣的調(diào)用棧與對特定對象模型執(zhí)行的腳本相關(guān)聯(lián)。例如,調(diào)用??梢耘c在運(yùn)行時期間促進(jìn)文檔對象模型的修改的java腳本的編譯相關(guān)聯(lián)。
[0039] 如所示那樣,存儲器管理單元500還可以包括標(biāo)記組件540,該標(biāo)記組件540被配置為標(biāo)記包括在調(diào)用棧中的整數(shù)表示。在此,應(yīng)當(dāng)注意,整數(shù)的標(biāo)記被執(zhí)行使得經(jīng)標(biāo)記的整數(shù)表示能夠容易地與未經(jīng)標(biāo)記的指針表示相區(qū)分。為此目的,還應(yīng)注意,標(biāo)記組件540可被配置為以多種方式中的任何方式標(biāo)記整數(shù)。例如,標(biāo)記組件540可以被配置為將整數(shù)表示變換成不同的數(shù)據(jù)結(jié)構(gòu)。在特定的實(shí)施例中,這樣的變換可以包括讓標(biāo)記組件540被配置為將所述不同的數(shù)據(jù)結(jié)構(gòu)中的至少一位專用于標(biāo)記。
[0040] 在一方面,存儲器管理設(shè)備500還包括跟蹤組件550。在這樣的實(shí)施例中,跟蹤組件550被配置為跟蹤由掃描組件530標(biāo)識出的根對象到相應(yīng)一組存儲器位置。在最初跟蹤根對象以后,所構(gòu)思的是,執(zhí)行對相關(guān)對象的后續(xù)跟蹤。然而在特定的實(shí)施例中,后續(xù)跟蹤僅僅對未經(jīng)標(biāo)記的指針表示執(zhí)行,并且對經(jīng)標(biāo)記的整數(shù)表示跳過。
[0041] 在另一方面,存儲器管理設(shè)備500還包括回收組件560,該回收組件560被配置為釋放被分配給調(diào)用棧不可到達(dá)的一組對象的存儲器。在特定的實(shí)施例中,回收組件500可以被配置為將調(diào)用棧所調(diào)用的對象放置到堆上。在這樣的實(shí)施例中,回收組件560然后還可以被配置為基于堆的大小是否超過了閾值來發(fā)起垃圾收集算法。在另一實(shí)施例中,回收組件560可被配置為將各可到達(dá)對象分別保存在堆的各原始存儲位置中。例如,回收組件560可被配置為根據(jù)堆內(nèi)的固定的一組邊界來維護(hù)各堆對象的分隔。
[0042] 圖6是示出根據(jù)一實(shí)施例的用于實(shí)現(xiàn)保守垃圾收集算法的示例性非限制性實(shí)施例的流程圖。在600,標(biāo)識出包含在調(diào)用棧中的包括整數(shù)表示和指針表示的根對象。接著在610,標(biāo)記整數(shù)表示標(biāo)記使得經(jīng)標(biāo)記的整數(shù)表示可以同未經(jīng)標(biāo)記的指針表示相區(qū)分。然后在
620,跟蹤根對象到相應(yīng)的一組存儲器位置,使得對指針表示執(zhí)行后續(xù)跟蹤并對整數(shù)表示跳過后續(xù)跟蹤。然后在630,釋放分配給調(diào)用棧不可到達(dá)的對象的存儲器。
[0043] 接著參考圖7,示出了被配置為根據(jù)各個方面標(biāo)記整數(shù)的示例性資源管理單元的框圖。如所示那樣,資源管理單元700可包括處理器組件710、存儲器組件720、標(biāo)記組件730、堆組件740、跟蹤組件750、釋放組件760、監(jiān)視組件770和制圖組件780。
[0044] 類似于存儲器管理單元500中的處理器組件510,處理器組件710被配置為執(zhí)行與執(zhí)行多個功能中的任何功能相關(guān)的計算機(jī)可讀指令。處理器組件710可以是單個處理器或多個處理器,其專用于分析要從資源管理單元700傳遞的信息和/或生成可由存儲器組件720、標(biāo)記組件730、堆組件740、跟蹤組件750、釋放組件760、監(jiān)視組件770和/或制圖組件780使用的信息。附加地或可替代地,處理器組件710可被配置為控制資源管理單元700的一個或多個組件。
[0045] 在另一方面中,存儲器組件720被耦合到處理器組件710并被配置為存儲由處理器組件710執(zhí)行的計算機(jī)可讀指令。存儲器組件720還可被配置為存儲多種其他類型的數(shù)據(jù)中的任何數(shù)據(jù),包括由標(biāo)記組件730、堆組件740、跟蹤組件750、釋放組件760、監(jiān)視組件770和/或制圖(graphing)組件780中的任何組件生成的數(shù)據(jù)。此處,應(yīng)注意,存儲器組件720與存儲器管理單元500中的存儲器組件520類似。因此,可以理解,存儲器組件520的任何前述特征/配置也適用于存儲器組件720。
[0046] 如所示那樣,資源管理單元700還可包括標(biāo)記組件730。在這樣的實(shí)施例中,標(biāo)記組件730被配置為標(biāo)記與調(diào)用棧相關(guān)聯(lián)的對象圖。在此,應(yīng)當(dāng)注意,包括在經(jīng)標(biāo)記的對象圖中的根對象可以包括經(jīng)標(biāo)記的整數(shù)表示和未經(jīng)標(biāo)記的指針表示。對于一些實(shí)施例,還應(yīng)當(dāng)注意,資源管理單元700還可以包括制圖組件780,該制圖組件780被配置為產(chǎn)生由標(biāo)記組件730標(biāo)記的對象圖。
[0047] 在一方面,資源管理單元700被配置為管理堆中包括的對象。為了促進(jìn)這樣的管理,資源管理單元700可以包括堆組件740,該堆組件740被配置為在調(diào)用棧執(zhí)行期間生成對象的堆。對于該特定實(shí)施例,所構(gòu)思的是,該對象堆可以包括調(diào)用棧的經(jīng)執(zhí)行的一部分中所包括的對象。
[0048] 在另一方面,資源管理單元700還可包括跟蹤組件750。在這樣的實(shí)施例中,跟蹤組件750被配置為跟蹤調(diào)用棧的未經(jīng)執(zhí)行部分中的未經(jīng)執(zhí)行對象到堆上的相應(yīng)存儲器位置。在此,類似于存儲器管理設(shè)備500中的跟蹤組件550,所構(gòu)思的是,跟蹤組件750可以被配置為在最初跟蹤調(diào)用棧的根對象以后執(zhí)行相關(guān)對象的后續(xù)跟蹤。此外所構(gòu)思的是,這樣的后續(xù)跟蹤僅僅對未經(jīng)標(biāo)記的指針表示執(zhí)行,并且對經(jīng)標(biāo)記的整數(shù)表示跳過。
[0049] 如所示那樣,資源管理單元700還可包括釋放組件760。在這樣的實(shí)施例中,釋放組件760被配置為清除堆上的與如下對象相對應(yīng)的存儲器位置:所述對象被視為調(diào)用棧的未經(jīng)執(zhí)行的部分所不能到達(dá)的。在一方面,釋放組件760還可被配置為將調(diào)用棧的未經(jīng)執(zhí)行部分可到達(dá)的各對象的存儲分別保存在堆內(nèi)的它們的原始存儲器位置中。在另一方面,資源管理單元700還可以包括監(jiān)視組件770,該監(jiān)視組件770被配置為在調(diào)用棧的執(zhí)行期間監(jiān)視堆的大小。對于該特定實(shí)施例,釋放組件760然后可以被配置為基于堆大小超過特定閾值來觸發(fā)分配給不可到達(dá)對象的存儲器的清除。
[0050] 圖8是示出根據(jù)一實(shí)施例的用于標(biāo)記整數(shù)的示例性非限制性實(shí)施例的流程圖。在800,標(biāo)記與調(diào)用棧相關(guān)聯(lián)的對象圖標(biāo)記使得經(jīng)標(biāo)記的對象圖中所包括的根對象包括經(jīng)標(biāo)記的整數(shù)表示和未經(jīng)標(biāo)記的指針表示。在810,然后在調(diào)用棧的執(zhí)行期間生成對象的堆,其包括調(diào)用棧的經(jīng)執(zhí)行部分中所包括的對象。接著,在820,跟蹤包括在調(diào)用棧的未經(jīng)執(zhí)行部分中的未經(jīng)執(zhí)行的對象到堆上的相應(yīng)存儲器位置。對于該特定實(shí)施例,僅僅對指針表示執(zhí)行后續(xù)跟蹤,而不對整數(shù)表示執(zhí)行后續(xù)跟蹤。然后,在830,清除與調(diào)用棧的未經(jīng)執(zhí)行部分不可到達(dá)的堆對象相對應(yīng)的存儲器位置。
[0051] 示例性聯(lián)網(wǎng)以及分布式環(huán)境
[0052] 本領(lǐng)域普通技術(shù)人員能夠理解,此處所描述的用于在保守垃圾收集算法內(nèi)標(biāo)記整數(shù)的各個實(shí)施例可以結(jié)合任何計算機(jī)或其他客戶機(jī)或服務(wù)器設(shè)備來實(shí)現(xiàn),該任何計算機(jī)或其它客戶機(jī)或服務(wù)器設(shè)備可作為計算機(jī)網(wǎng)絡(luò)的一部分來部署或者被部署在分布式計算環(huán)境中,并且可以連接到任何種類的數(shù)據(jù)存儲。在這一點(diǎn)上,此處描述的各實(shí)施例可在具有任何數(shù)量的存儲器或存儲單元的、并且任何數(shù)量的應(yīng)用和進(jìn)程跨任何數(shù)量的存儲單元發(fā)生的任何計算機(jī)系統(tǒng)或環(huán)境中實(shí)現(xiàn)。這包括但不限于具有部署在具有遠(yuǎn)程或本地存儲的網(wǎng)絡(luò)環(huán)境或分布式計算環(huán)境中的服務(wù)器計算機(jī)和客戶機(jī)計算機(jī)的環(huán)境。
[0053] 附圖9提供了示例性聯(lián)網(wǎng)或分布式計算環(huán)境的非限制性性示意圖。該分布式計算環(huán)境包括計算對象或設(shè)備910、912等以及計算對象或設(shè)備920、922、924、926、928等,這些計算對象或設(shè)備可包括如由應(yīng)用930、932、934、936、938表示的程序、方法、數(shù)據(jù)存儲、可編程邏輯等。可以理解,計算對象或設(shè)備910、912等以及計算對象或設(shè)備920、922、924、926、928等可包括不同的設(shè)備,諸如PDA、音頻/視頻設(shè)備、移動電話、MP3播放器、膝上型計算機(jī)等。
[0054] 每個計算對象或設(shè)備910、912等以及計算對象或設(shè)備920、922、924、926、928等可經(jīng)由通信網(wǎng)絡(luò)940或直接或間接地與一個或多個其他計算對象或設(shè)備910、912等以及計算對象或設(shè)備920、922、924、926、928等通信。即使在圖9中被示為單個元件,但網(wǎng)絡(luò)940也可包括向圖9的系統(tǒng)提供服務(wù)的其他計算對象或計算設(shè)備,和/或可表示未示出的多個互連網(wǎng)絡(luò)。每個計算對象或設(shè)備910、912等或920、922、924、926、928等還可包含諸如應(yīng)用930、932、934、936、938之類的應(yīng)用,該應(yīng)用可利用API或適用于與根據(jù)各實(shí)施例提供的來自任何平臺的信息作為服務(wù)的基礎(chǔ)結(jié)構(gòu)進(jìn)行通信或?qū)崿F(xiàn)這種基礎(chǔ)結(jié)構(gòu)的其他對象、軟件、固件和/或硬件
[0055] 存在支持分布式計算環(huán)境的各種系統(tǒng)、組件和網(wǎng)絡(luò)配置。例如,計算系統(tǒng)可由有線或無線系統(tǒng)、本地網(wǎng)絡(luò)或廣泛分布的網(wǎng)絡(luò)連接在一起。當(dāng)前,許多網(wǎng)絡(luò)被耦合至因特網(wǎng),后者為廣泛分布的計算提供了基礎(chǔ)結(jié)構(gòu)并包含許多不同的網(wǎng)絡(luò),但任何網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)可用于變得與如各實(shí)施例中所描述的技術(shù)相關(guān)聯(lián)的示例性通信。
[0056] 由此,可使用諸如客戶機(jī)/服務(wù)器、對等、或混合體系結(jié)構(gòu)之類的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的主機(jī)。在客戶機(jī)/服務(wù)器體系結(jié)構(gòu)中,尤其在聯(lián)網(wǎng)系統(tǒng)中,客戶機(jī)通常是訪問另一計算機(jī)(例如,服務(wù)器)所提供的共享網(wǎng)絡(luò)資源的計算機(jī)。在附圖9的圖示中,作為非限制性性示例,計算對象或設(shè)備920、922、924、926、928等可被認(rèn)為是客戶機(jī)和計算對象,或者設(shè)備910、912等可被認(rèn)為是服務(wù)器,其中計算對象或設(shè)備910、912等提供數(shù)據(jù)服務(wù),諸如從計算對象或設(shè)備920、922、924、926、928等接收數(shù)據(jù)、存儲數(shù)據(jù)、處理數(shù)據(jù)、向計算對象或設(shè)備920、922、924、926、928發(fā)送數(shù)據(jù)等,但任何計算機(jī)都可取決于環(huán)境而被認(rèn)為是客戶機(jī)、服務(wù)器或兩者。這些計算設(shè)備中的任一個都可以處理數(shù)據(jù),或請求可隱含此處一個或多個實(shí)施例所描述的存儲器管理和相關(guān)技術(shù)的服務(wù)或任務(wù)。
[0057] 服務(wù)器通常是可通過諸如因特網(wǎng)或無線網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)之類的遠(yuǎn)程網(wǎng)絡(luò)或本地網(wǎng)絡(luò)訪問的遠(yuǎn)程計算機(jī)系統(tǒng)??蛻魴C(jī)進(jìn)程可在第一計算機(jī)系統(tǒng)中活動,而服務(wù)器進(jìn)程可在第二計算機(jī)系統(tǒng)中活動,它們通過通信介質(zhì)相互通信,由此提供分布式功能并允許多個客戶機(jī)利用服務(wù)器的信息收集能力。按照用戶剖析來利用的任何軟件對象可以獨(dú)立地提供或跨多個計算設(shè)備或?qū)ο蠓植肌?/div>
[0058] 例如,在其中通信網(wǎng)絡(luò)/總線940是因特網(wǎng)的網(wǎng)絡(luò)環(huán)境中,計算對象或設(shè)備910、912等可以是計算對象或設(shè)備920、922、924、926、928等經(jīng)由諸如HTTP等多種已知協(xié)議中的任一種與其通信的web服務(wù)器。如所提及的,計算對象或設(shè)備910、912等還可用作計算對象或設(shè)備920、922、924、926、928等,或者相反,這可以是分布式計算環(huán)境的特性。
[0059] 示例性計算設(shè)備
[0060] 如所提到的,在此描述的各個實(shí)施例適用于其中實(shí)現(xiàn)用于在保守垃圾收集算法內(nèi)標(biāo)記整數(shù)的基礎(chǔ)結(jié)構(gòu)是合乎需要的任何設(shè)備。因此,應(yīng)當(dāng)理解,結(jié)合此處描述的各實(shí)施例來使用,即在設(shè)備可以結(jié)合用所標(biāo)記的整數(shù)實(shí)現(xiàn)保守垃圾收集算法來提供某個功能的任何地方構(gòu)想了各種種類的手持式、便攜式和其它計算設(shè)備和計算對象。因此,在下面的圖10中描述的以下通用遠(yuǎn)程計算機(jī)僅是一個示例,且所公開的主題的各實(shí)施例可以用具有網(wǎng)絡(luò)/總線互操作性和交互的任何客戶機(jī)來實(shí)現(xiàn)。
[0061] 盡管并不是必需的,但各實(shí)施例的任意一個可以部分地經(jīng)由操作系統(tǒng)來實(shí)現(xiàn),以供設(shè)備或?qū)ο蟮姆?wù)開發(fā)者使用,和/或被包括在結(jié)合可操作組件來操作的應(yīng)用軟件中。軟件可在諸如客戶機(jī)工作站、服務(wù)器或其他設(shè)備之類的一個或多個計算機(jī)所執(zhí)行的諸如程序模之類的計算機(jī)可執(zhí)行指令的通用上下文中描述。本領(lǐng)域的技術(shù)人員可以理解,網(wǎng)絡(luò)交互可以用各種計算機(jī)系統(tǒng)配置和協(xié)議來實(shí)施。
[0062] 因此,圖10示出了其中可實(shí)現(xiàn)一個或多個實(shí)施例的合適的計算系統(tǒng)環(huán)境1000的一個示例,但是上面已經(jīng)弄清楚,計算系統(tǒng)環(huán)境1000僅為合適的計算環(huán)境的一個示例,而不旨在對各實(shí)施例中的任意一個的使用范圍或功能提出任何限制。不應(yīng)將計算環(huán)境1000解釋為對示例性操作環(huán)境1000中示出的任一組件或其組合有任何依賴性或要求。
[0063] 參考圖10,用于實(shí)現(xiàn)此處的一個或多個實(shí)施例的示例性遠(yuǎn)程設(shè)備可以包括手持式計算機(jī)1010形式的通用計算設(shè)備。手持式計算機(jī)1010的組件可以包括但不限于:處理單元1020、系統(tǒng)存儲器1030和將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合至處理單元1020的系統(tǒng)總線1021。
[0064] 計算機(jī)1010通常包括各種計算機(jī)可讀介質(zhì),并且可以是可由計算機(jī)1010訪問的任何可用介質(zhì)。系統(tǒng)存儲器1030可包括諸如只讀存儲器(ROM)和/或隨機(jī)存取存儲器(RAM)之類的易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì)。作為示例而非限制性,存儲器1030還可以包括操作系統(tǒng)、應(yīng)用程序、其他程序模塊、和程序數(shù)據(jù)。軟件也可以包含在數(shù)字多功能盤(DVD)、緊致盤(CD)或其他可移動存儲上。
[0065] 用戶可以通過輸入設(shè)備1040向計算機(jī)1010輸入命令和信息。監(jiān)視器或其他類型的顯示設(shè)備也經(jīng)由諸如輸出接口1050之類的接口連接到系統(tǒng)總線1021。除監(jiān)視器之外,計算機(jī)還可以包括其他外圍輸出設(shè)備,如揚(yáng)聲器和打印機(jī),它們可以通過輸出接口1050連接。
[0066] 計算機(jī)1010可使用到一個或多個其他遠(yuǎn)程計算機(jī)(諸如遠(yuǎn)程計算機(jī)1070)的邏輯連接在聯(lián)網(wǎng)或分布式環(huán)境中操作。遠(yuǎn)程計算機(jī)1070可以是個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他常見網(wǎng)絡(luò)節(jié)點(diǎn)、或者任何其他遠(yuǎn)程媒體消費(fèi)或傳輸設(shè)備,并且可包括以上關(guān)于計算機(jī)1010所述的任何或全部元件。圖10所示的邏輯連接包括諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)之類的網(wǎng)絡(luò)1071,但也可包括其他網(wǎng)絡(luò)/總線。這些聯(lián)網(wǎng)環(huán)境在家庭、辦公室、企業(yè)范圍的計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
[0067] 如上所述,盡管結(jié)合各種計算設(shè)備、網(wǎng)絡(luò)和廣告體系結(jié)構(gòu)描述了各示例性實(shí)施例,但基本概念可被應(yīng)用于其中期望管理存儲器的任何網(wǎng)絡(luò)系統(tǒng)和任何計算設(shè)備或系統(tǒng)。
[0068] 有多種實(shí)現(xiàn)此處描述的一個或多個實(shí)施例的方式,例如,使應(yīng)用和服務(wù)能使用存儲器管理的適當(dāng)API、工具包、驅(qū)動程序代碼、操作系統(tǒng)、控件、獨(dú)立或可下載的軟件對象等等??梢詮腁PI(或其他軟件對象)的觀點(diǎn)以及從便于根據(jù)所描述的實(shí)施例中的一個或多個提供存儲器管理的軟件或硬件對象來構(gòu)想各實(shí)施例。此處描述的各種實(shí)現(xiàn)和實(shí)施例可以具有完全采用硬件、部分采用硬件并且部分采用軟件、以及采用軟件的方面。
[0069] 本文中所使用的詞語“示例性”意味著用作示例、實(shí)例、或說明。為避免疑惑,本文所公開的主題不限于這些示例。另外,在此所述的被描述為“示例性”的任意方面或設(shè)計并不一定要被解釋為相比其它方面或設(shè)計更優(yōu)選或有利,也不意味著排除本領(lǐng)域技術(shù)人員已知的等效示例性結(jié)構(gòu)和技術(shù)。此外,在詳細(xì)描述或權(quán)利要求書中使用術(shù)語“包括”、“具有”、“包含”和其他類似詞語的程度上,為避免疑惑,這些術(shù)語旨在以類似于術(shù)語“包括”作為開放的過渡詞的方式是包含性的而不排除任何附加或其他元素。
[0070] 如所述的,此處所述的各種技術(shù)可結(jié)合硬件或軟件或,在適當(dāng)時,以兩者的組合來實(shí)現(xiàn)。如此處所使用的,術(shù)語“組件”、“系統(tǒng)”等同樣旨在指計算機(jī)相關(guān)實(shí)體,或者是硬件、硬件和軟件的組合、軟件或者是執(zhí)行中的軟件。例如,組件可以是,但不限于是,在處理器上運(yùn)行的進(jìn)程、處理器、對象、可執(zhí)行碼、執(zhí)行的線程、程序和/或計算機(jī)。作為說明,在計算機(jī)上運(yùn)行的應(yīng)用和計算機(jī)都可以是組件。一個或多個組件可以駐留在進(jìn)程和/或執(zhí)行的線程中,并且組件可以位于一個計算機(jī)內(nèi)和/或分布在兩個或更多計算機(jī)之間。
[0071] 如前所述的系統(tǒng)已經(jīng)參考若干組件之間的交互來描述??梢岳斫猓@些系統(tǒng)和組件可包括組件或指定的子組件、某些指定的組件或子組件和/或附加的組件,并且根據(jù)上述內(nèi)容的各種置換和組合。子組件還可作為通信地耦合到其他組件的組件來實(shí)現(xiàn),而不是被包括在父組件內(nèi)(層次性)。另外,注意到,一個或多個組件也可以合并到提供聚合功能的單個組件中,或者也可以分成多個單獨(dú)的子組件,并且,可以提供諸如管理層之類的任何一個或更多中間層,以可通信地耦合到這樣的子組件,以便提供集成的功能。此處所述的任何組件也可與一個或多個此處未專描述的但本領(lǐng)域技術(shù)人員一般已知的其他組件進(jìn)行交互。
[0072] 鑒于以上描述的示例性系統(tǒng),參考各附圖的流程圖將可以理解依照所公開的主題實(shí)現(xiàn)的方法。盡管為了說明簡潔起見,按照一系列框示出和描述了方法,但是,應(yīng)該理解和知道,所要求保護(hù)的主題不限于框的次序,因?yàn)橐恍┛蚩梢园磁c此處所描繪和描述的不同的次序進(jìn)行和/或與其他框并發(fā)地進(jìn)行。盡管經(jīng)由流程圖示出了非順序或分支的流程,但可以理解,可實(shí)現(xiàn)達(dá)到相同或相似結(jié)果的各種其他分支、流程路徑和框的次序。此外,并非全部所示的框都是實(shí)現(xiàn)下面所述的方法所必需的。
[0073] 雖然在某些實(shí)施例中示出了客戶機(jī)側(cè)觀點(diǎn),但要出于避免對存在相對應(yīng)的服務(wù)器觀點(diǎn)的疑問來理解,反之亦然。類似地,在實(shí)施一方法時,可以提供具有存儲和被配置為經(jīng)由一個或多個組件實(shí)施該方法的至少一個處理器的相對應(yīng)的設(shè)備。
[0074] 盡管結(jié)合各附圖的優(yōu)選實(shí)施例描述了各實(shí)施例,但可以理解,可以使用其他類似的實(shí)施例,或可以對所描述的實(shí)施例進(jìn)行修改和添加來執(zhí)行相同的功能而不背離本發(fā)明。而且,此處描述的各實(shí)施例的一個或多個方面可以在多個處理芯片或設(shè)備中實(shí)現(xiàn)或跨多個處理芯片或設(shè)備實(shí)現(xiàn),且存儲可以類似地跨多個設(shè)備來實(shí)現(xiàn)。因此,本發(fā)明不應(yīng)限于任何單個實(shí)施例,而是應(yīng)該根據(jù)所附權(quán)利要求書的廣度和范圍來解釋。
高效檢索全球?qū)@?/div>

專利匯是專利免費(fèi)檢索,專利查詢,專利分析-國家發(fā)明專利查詢檢索分析平臺,是提供專利分析,專利查詢,專利檢索等數(shù)據(jù)服務(wù)功能的知識產(chǎn)權(quán)數(shù)據(jù)服務(wù)商。

我們的產(chǎn)品包含105個國家的1.26億組數(shù)據(jù),免費(fèi)查、免費(fèi)專利分析。

申請試用

分析報告

專利匯分析報告產(chǎn)品可以對行業(yè)情報數(shù)據(jù)進(jìn)行梳理分析,涉及維度包括行業(yè)專利基本狀況分析、地域分析、技術(shù)分析、發(fā)明人分析、申請人分析、專利權(quán)人分析、失效分析、核心專利分析、法律分析、研發(fā)重點(diǎn)分析、企業(yè)專利處境分析、技術(shù)處境分析、專利壽命分析、企業(yè)定位分析、引證分析等超過60個分析角度,系統(tǒng)通過AI智能系統(tǒng)對圖表進(jìn)行解讀,只需1分鐘,一鍵生成行業(yè)專利分析報告。

申請試用

QQ群二維碼
意見反饋