国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于虛擬機(jī)的垃圾回收方法及裝置與流程

      文檔序號:11154630閱讀:374來源:國知局
      基于虛擬機(jī)的垃圾回收方法及裝置與制造工藝

      本發(fā)明實(shí)施例涉及存儲技術(shù),尤其涉及一種基于虛擬機(jī)的垃圾回收方法及裝置。



      背景技術(shù):

      Java程序的內(nèi)存管理由Java虛擬機(jī)完成。在應(yīng)用程序執(zhí)行過程中,如果應(yīng)用程序的應(yīng)用線程無法在Java堆中繼續(xù)分配新對象,Java虛擬機(jī)就會(huì)觸發(fā)垃圾回收,回收不再使用的內(nèi)存,以便后續(xù)新對象的內(nèi)存分配過程能夠順利進(jìn)行。

      復(fù)制垃圾回收算法作為垃圾回收算法中的一種,其實(shí)現(xiàn)過程主要為:將堆存儲空間平均分成兩部分,第一部分存儲空間用于當(dāng)前應(yīng)用線程分配新對象,第二部分存儲空間則作為預(yù)留存儲空間,用于保存垃圾回收時(shí)的活躍對象。在第一部分存儲空間存滿時(shí),虛擬機(jī)觸發(fā)垃圾回收,第一部分存儲空間中的所有活躍對象會(huì)被復(fù)制到第二部分存儲空間中,而第一部分存儲空間會(huì)被全部回收,再將第一部分存儲空間與第二部分存儲空間互換,以便下次垃圾回收使使用。虛擬機(jī)通過保留活躍對象并且回收非活躍對象占用的存儲空間的方式,完成垃圾回收的工作,從而達(dá)到完成內(nèi)存管理的目的。

      然而,由于Java應(yīng)用程序在運(yùn)行過程中,大部分新創(chuàng)建的對象很快就會(huì)變成非活躍對象,因此在垃圾回收發(fā)生時(shí),活躍對象的數(shù)目只占整個(gè)新生對象很小部分,如果預(yù)留存儲空間與分配新對象的存儲空間大小相同,則導(dǎo)致堆存儲空間無法得到充分利用,分配新對象的存儲空間有限,使得垃圾回收頻率變大,應(yīng)用程序的性能低。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明實(shí)施例提供一種基于虛擬機(jī)的垃圾回收方法及裝置,以提高堆空間的利用率,提高應(yīng)用程序的性能。

      第一方面,本發(fā)明提供一種基于虛擬機(jī)的垃圾回收方法,其中,虛擬機(jī)的堆空間包括用于存儲活躍周期小于預(yù)設(shè)周期的對象的新生代存儲區(qū),所述新生代存儲區(qū)包括用于存儲應(yīng)用程序創(chuàng)建的新對象的第一存儲空間、用于保存上一次垃圾回收時(shí)存活的活躍對象的第二存儲空間以及預(yù)留的第三存儲空間,所述方法包括:

      在確定所述應(yīng)用程序創(chuàng)建的新對象將所述第一存儲空間存滿后,將當(dāng)前時(shí)刻所述第一存儲空間以及所述第二存儲空間中的所有活躍對象存儲至所述第三存儲空間中;

      在確定所有活躍對象均存儲到所述第三存儲空間后,清空所述第一存儲空間以及所述第二存儲空間;

      根據(jù)所述所有活躍對象所占的存儲空間的大小,重置所述第二存儲空間的大小以及所述第三存儲空間的大小,并對所述第二存儲空間以及所述第三存儲空間進(jìn)行交換處理。

      第二方面,本發(fā)明提供一種基于虛擬機(jī)的垃圾回收裝置,其中,所述虛擬機(jī)的堆空間包括用于存儲活躍周期小于預(yù)設(shè)周期的對象的新生代存儲區(qū),所述新生代存儲區(qū)包括用于存儲應(yīng)用程序創(chuàng)建的新對象的第一存儲空間、用于保存上一次垃圾回收時(shí)存活的活躍對象的第二存儲空間以及預(yù)留的第三存儲空間,所述裝置包括:

      確定模塊,用于在確定所述應(yīng)用程序創(chuàng)建的新對象將所述第一存儲空間存滿后,將當(dāng)前時(shí)刻所述第一存儲空間以及所述第二存儲空間中的所有活躍對象存儲至所述第三存儲空間中;

      清空模塊,用于在確定所有活躍對象均存儲到所述第三存儲空間后,清空所述第一存儲空間以及所述第二存儲空間;

      處理模塊,用于根據(jù)所述所有活躍對象所占的存儲空間的大小,重置所述第二存儲空間的大小以及所述第三存儲空間的大小,并對所述第二存儲空間以及所述第三存儲空間進(jìn)行交換處理。

      本實(shí)施例提供的基于虛擬機(jī)的垃圾回收方法及裝置,該方法通過在確定應(yīng)用程序創(chuàng)建的新對象將第一存儲空間存滿后,將當(dāng)前時(shí)刻第一存儲空間以及第二存儲空間中的所有活躍對象存儲至第三存儲空間中;在確定所有的活躍對象均存儲到第三存儲空間后,清空第一存儲空間以及第二存儲空間;根 據(jù)當(dāng)前垃圾回收過程中活躍對象的總大小,對第二存儲空間以及第三存儲空間進(jìn)行了重置,并且對第二存儲空間以及第三存儲空間進(jìn)行了交換處理,使得預(yù)留的第三存儲空間能夠與活躍對象的總大小匹配,實(shí)現(xiàn)了自適應(yīng)調(diào)整堆空間大小,堆空間的充分利用。

      附圖說明

      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本發(fā)明基于虛擬機(jī)的垃圾回收方法實(shí)施例一的流程圖;

      圖2為本發(fā)明基于虛擬機(jī)的垃圾回收方法實(shí)施例二的流程圖;

      圖3為本發(fā)明基于虛擬機(jī)的垃圾回收方法實(shí)施例三的流程圖;

      圖4為本發(fā)明基于虛擬機(jī)的垃圾回收裝置實(shí)施例一的結(jié)構(gòu)示意圖;

      圖5為本發(fā)明基于虛擬機(jī)的垃圾回收裝置實(shí)施例二的結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      垃圾回收是JAVA程序設(shè)計(jì)中內(nèi)存管理的核心概念,JAVA虛擬機(jī)內(nèi)存管理機(jī)制被稱為垃圾回收機(jī)制,用以跟蹤正在使用的對象和發(fā)現(xiàn)并回收不再使用的對象。該機(jī)制可以有效防范動(dòng)態(tài)內(nèi)存分配中可能發(fā)生的兩個(gè)危險(xiǎn),因內(nèi)存垃圾過多而引發(fā)的內(nèi)存耗盡,以及不恰當(dāng)?shù)膬?nèi)存釋放所造成的內(nèi)存非法引用。

      垃圾回收機(jī)制的工作原理是,通過監(jiān)控每一個(gè)對象的運(yùn)行狀態(tài)(包括申請、引用、被引用、賦值等),準(zhǔn)確及時(shí)地釋放非活躍對象,釋放的非活躍對象的原則是該對象不被引用。Java采用對象引用關(guān)系圖的方式進(jìn)行內(nèi)存管理, 垃圾回收從根集合開始,遍歷對象引用關(guān)系圖,判斷哪些對象符合垃圾回收的條件(即該對象不可達(dá),為非活躍對象),然后釋放非活躍對象所占的存儲空間。下面將采用詳細(xì)的實(shí)施例,說明如何自適應(yīng)調(diào)整堆空間大小,實(shí)現(xiàn)堆空間的充分利用。

      圖1為本發(fā)明基于虛擬機(jī)的垃圾回收方法實(shí)施例一的流程圖。本實(shí)施例的虛擬機(jī)的堆空間包括用于存儲活躍周期小于預(yù)設(shè)周期的對象的新生代存儲區(qū),新生代存儲區(qū)包括用于存儲應(yīng)用程序創(chuàng)建的新對象的第一存儲空間、用于保存上一次垃圾回收時(shí)存活的活躍對象的第二存儲空間以及預(yù)留的第三存儲空間。本實(shí)施例的執(zhí)行主體為基于虛擬機(jī)的垃圾回收裝置,該裝置可以通過軟件和/或硬件實(shí)現(xiàn),該裝置可以內(nèi)嵌到計(jì)算機(jī)等設(shè)備中實(shí)現(xiàn),該裝置還可以是為Jave應(yīng)用程序創(chuàng)建的虛擬機(jī)。如圖1所示,該方法包括:

      步驟101、在確定所述應(yīng)用程序創(chuàng)建的新對象將所述第一存儲空間存滿后,將當(dāng)前時(shí)刻所述第一存儲空間以及所述第二存儲空間中的所有活躍對象存儲至所述第三存儲空間中;

      步驟102、在確定所有的活躍對象均存儲到所述第三存儲空間后,清空所述第一存儲空間以及所述第二存儲空間;

      步驟103、根據(jù)所有活躍對象所占的存儲空間的大小,重置所述第二存儲空間的大小以及所述第三存儲空間的大小,并對所述第二存儲空間以及所述第三存儲空間進(jìn)行交換處理。

      在具體實(shí)現(xiàn)過程中,本實(shí)施例將堆空間劃分為新生代存儲區(qū)和老年代存儲區(qū),其中,新生代存儲區(qū)用于存儲活躍周期小于預(yù)設(shè)周期的對象,老年代存儲區(qū)用于存儲活躍周期大于預(yù)設(shè)周期的對象。

      本領(lǐng)域技術(shù)人員可以理解,在具體實(shí)現(xiàn)過程中,在堆空間中如果僅包括新生代存儲區(qū),本實(shí)施例也可以完成自適應(yīng)調(diào)整堆空間大小,實(shí)現(xiàn)堆空間的充分利用。

      具體地,新生代存儲區(qū)包括用于存儲應(yīng)用程序創(chuàng)建的新對象的第一存儲空間(Eden區(qū))、用于保存垃圾回收時(shí)存活的活躍對象的第二存儲空間(From區(qū))以及預(yù)留的第三存儲空間(To區(qū))。

      在具體實(shí)現(xiàn)過程中,在步驟101中,應(yīng)用程序在運(yùn)行過程中,在第一存儲空間中分配新對象,在確定應(yīng)用程序創(chuàng)建的新對象將所述第一存儲空間存 滿時(shí),觸發(fā)垃圾回收過程,暫停應(yīng)用程序的執(zhí)行過程,然后根據(jù)對象引用關(guān)系圖,將當(dāng)前時(shí)刻第一存儲空間和第二存儲空間中的活躍對象通過拷貝的方式存儲至第三存儲空間。

      在步驟102中,在確定所有活躍對象存儲到第三存儲空間后,清空第一存儲空間以及第二存儲空間。

      在步驟103中,根據(jù)所有活躍對象所占的存儲空間的大小,將第二存儲空間的大小以及第三存儲空間的大小,進(jìn)行重置,使得重置后的第一存儲空間的大小與重置后的第二存儲空間的大小均與所有活躍對象所占的存儲空間的大小相同。然后對第二存儲空間以及第三存儲空間進(jìn)行交換處理,即已經(jīng)清空的第二存儲空間成為第三存儲空間,已經(jīng)存滿活躍對象的第三存儲空間成為第二存儲空間,至此,垃圾回收流程結(jié)束,啟動(dòng)應(yīng)用程序的執(zhí)行過程。

      在具體實(shí)現(xiàn)過程中,分析大量Java應(yīng)用程序可知,Java應(yīng)用程序在運(yùn)行一段時(shí)間后,垃圾回收發(fā)生時(shí)活躍對象的總大小都基本相同,因此根據(jù)當(dāng)前垃圾回收過程中活躍對象的總大小,對第二存儲空間以及第三存儲空間進(jìn)行了重置,并且對第二存儲空間以及第三存儲空間進(jìn)行了交換處理,使得預(yù)留的第三存儲空間能夠與活躍對象的總大小匹配,實(shí)現(xiàn)了自適應(yīng)調(diào)整堆空間大小,堆空間的充分利用。

      進(jìn)一步地,在重置第二存儲空間的大小以及第三存儲空間的大小之后,還可以將新生代存儲區(qū)中除第二存儲空間與第三存儲空間之外的剩余存儲空間作為第一存儲空間。

      本領(lǐng)域技術(shù)人員可以理解,當(dāng)?shù)谌鎯臻g的大小遠(yuǎn)大于所有活躍對象所占的大小時(shí),對第二存儲空間以及第三存儲空間進(jìn)行重置,并將新生代存儲區(qū)中除第二存儲空間與第三存儲空間之外的剩余存儲空間作為第一存儲空間時(shí),則增大了第一存儲空間,使得第一存儲空間可以存儲更多的應(yīng)用程序新創(chuàng)建的對象,從而降低了垃圾回收的頻率,提高了應(yīng)用程序的性能。

      本實(shí)施例通過在確定應(yīng)用程序創(chuàng)建的新對象將第一存儲空間存滿后,將當(dāng)前時(shí)刻第一存儲空間以及第二存儲空間中的所有活躍對象存儲至第三存儲空間中;在確定所有的活躍對象均存儲到第三存儲空間后,清空第一存儲空間以及第二存儲空間;根據(jù)當(dāng)前垃圾回收過程中活躍對象的總大小,對第二存儲空間以及第三存儲空間進(jìn)行了重置,并且對第二存儲空間以及第三存儲 空間進(jìn)行了交換處理,使得預(yù)留的第三存儲空間能夠與活躍對象的總大小匹配,實(shí)現(xiàn)了自適應(yīng)調(diào)整堆空間大小,堆空間的充分利用。

      圖2為本發(fā)明基于虛擬機(jī)的垃圾回收方法實(shí)施例二的流程圖。本實(shí)施例在圖1實(shí)施例的基礎(chǔ)上,將詳細(xì)說明當(dāng)?shù)谌鎯臻g不能存儲所有活躍對象時(shí),本實(shí)施例的垃圾回收方法。如圖2所示,本實(shí)施例提供的方法包括:

      步驟201、在確定所述應(yīng)用程序創(chuàng)建的新對象將所述第一存儲空間存滿后,將當(dāng)前時(shí)刻所述第一存儲空間以及所述第二存儲空間中的所有活躍對象存儲至所述第三存儲空間中;

      步驟202、在確定所述第三存儲空間存滿,所有的活躍對象未全部存儲至所述第三存儲空間時(shí),在所述第一存儲空間中釋放已經(jīng)存儲至第三存儲空間的活躍對象所占的存儲空間,并對所述第一存儲空間的剩余可用存儲空間進(jìn)行縮并處理,得到縮并處理后的可用存儲空間;

      步驟203、將未存儲至所述第三存儲空間的活躍對象存儲至所述縮并處理后的可用存儲空間中;

      步驟204、在確定未存儲至所述第三存儲空間的活躍對象均存儲至所述第一存儲空間后,清空所述第二存儲空間和所述第一存儲空間中除所述縮并處理后的可用存儲空間之外的存儲空間;

      步驟205、根據(jù)所有活躍對象所占的存儲空間的大小,重置所述第二存儲空間的大小以及所述第三存儲空間的大小,并對所述第二存儲空間以及所述第三存儲空間進(jìn)行交換處理。

      本實(shí)施例中的步驟201與圖1所示的步驟101類似,步驟205與圖1所示實(shí)施例的步驟104類似,本實(shí)施例此處不再贅述。

      在步驟202中,當(dāng)確定第三存儲空間存滿,所有的活躍對象未全部存儲至第三存儲空間時(shí),由于第一存儲空間中已經(jīng)有一部分活躍對象存儲到第三存儲空間中,因此在第一存儲空間中釋放已經(jīng)存儲到第三存儲空間的活躍對象所占的存儲空間,此時(shí),第一存儲空間中存在不連續(xù)的空閑存儲空間,將第一存儲空間中不連續(xù)的空閑存儲空間縮并到第一存儲空間的一端,得到縮并處理后的可用存儲空間。

      在步驟203中,根據(jù)對象引用關(guān)系圖,將未存儲至第三存儲空間的活躍對象存儲至縮并處理后的可用存儲空間中。本領(lǐng)域技術(shù)人員可以理解,由于 本實(shí)例中的第二存儲空間和第三存儲空間采用自適應(yīng)的方式進(jìn)行調(diào)整,因此,即使第三存儲空間無法存儲所有的活躍對象,但無法存儲的活躍對象的數(shù)量也非常少,完全可以存儲至第一存儲空間中的可用存儲空間中。

      在步驟204中,在確定未存儲至所述第三存儲空間的活躍對象均存儲至第一存儲空間后,清空第二存儲空間和第一存儲空間中除縮并處理后的可用存儲空間之外的存儲空間。本領(lǐng)域技術(shù)人員可以理解,在應(yīng)用程序啟動(dòng)之后,下一次觸發(fā)垃圾回收流程時(shí),應(yīng)用程序創(chuàng)建的新對象可以存儲在第一存儲空間除縮并處理后的可用存儲空間之外的存儲空間中。

      本實(shí)施例對第三存儲空間不能存儲所有活躍對象時(shí)的處理過程不同于現(xiàn)有技術(shù),在現(xiàn)有技術(shù)中,會(huì)將第三存儲空間未存儲的活躍對象存儲至老年代存儲區(qū)中,由于老年代存儲區(qū)中存儲了活躍周期較短的活躍對象,所以導(dǎo)致老年代存儲區(qū)的垃圾回收頻率較高,降低了應(yīng)用程序的性能。

      而本實(shí)施例在垃圾回收過程中,在第三存儲空間不足時(shí),采用縮并處理的方式進(jìn)行垃圾回收處理,在存儲剩余的活躍對象時(shí),不需要占用老年代存儲區(qū)的存儲空間,降低了對老年代垃圾回收頻率。

      圖3為本發(fā)明基于虛擬機(jī)的垃圾回收方法實(shí)施例三的流程圖。本實(shí)施例在圖1和圖2實(shí)施例的基礎(chǔ)上,對本發(fā)明的垃圾回收方法的具體過程進(jìn)行詳細(xì)說明。本實(shí)施例的方法包括:

      步驟301、確定應(yīng)用程序創(chuàng)建的新對象將第一存儲空間存滿;

      步驟302、觸發(fā)垃圾回收流程,暫停應(yīng)用程序的執(zhí)行過程;

      步驟303、將當(dāng)前時(shí)刻第一存儲空間以及第二存儲空間中的所有活躍對象存儲至第三存儲空間中;

      步驟304、判斷第三存儲空間是否可以存放所有活躍對象,若是,執(zhí)行步驟305,若否,執(zhí)行步驟306;

      步驟305、在確定所有活躍對象均存儲到所述第三存儲空間后,清空所述第一存儲空間以及所述第二存儲空間;

      步驟306、在第一存儲空間中釋放已經(jīng)存儲至第三存儲空間的活躍對象所占的存儲空間,并對第一存儲空間的剩余可用存儲空間進(jìn)行縮并處理,得到縮并處理后的可用存儲空間;

      步驟307、將未存儲至第三存儲空間的活躍對象存儲至縮并處理后的可 用存儲空間中;

      步驟308、在確定未存儲至第三存儲空間的活躍對象均存儲至第一存儲空間后,清空第二存儲空間和第一存儲空間中除縮并處理后的可用存儲空間之外的存儲空間;

      步驟309、根據(jù)所有活躍對象所占的存儲空間的大小,重置第二存儲空間的大小以及第三存儲空間的大??;

      步驟310、對第二存儲空間以及第三存儲空間進(jìn)行交換處理,啟動(dòng)應(yīng)用程序的執(zhí)行過程。

      綜上,本實(shí)施例根據(jù)當(dāng)前垃圾回收過程中活躍對象的總大小,對第二存儲空間以及第三存儲空間的大小進(jìn)行了重置,并且對第二存儲空間以及第三存儲空間進(jìn)行了交換處理,使得預(yù)留的第三存儲空間能夠與活躍對象的總大小匹配,實(shí)現(xiàn)了自適應(yīng)調(diào)整堆空間大小,堆空間的充分利用,并在第三存儲空間不足時(shí),采用縮并處理的方式進(jìn)行垃圾回收處理,在存儲剩余的活躍對象時(shí),不需要占用老年代存儲區(qū)的存儲空間,降低了對老年代垃圾回收頻率。

      圖4為本發(fā)明基于虛擬機(jī)的垃圾回收裝置實(shí)施例一的結(jié)構(gòu)示意圖,其中,所述虛擬機(jī)的堆空間包括用于存儲活躍周期小于預(yù)設(shè)周期的對象的新生代存儲區(qū),所述新生代存儲區(qū)包括用于存儲應(yīng)用程序創(chuàng)建的新對象的第一存儲空間、用于保存上一次垃圾回收時(shí)存活的活躍對象的第二存儲空間以及預(yù)留的第三存儲空間,如圖4所示,該裝置包括:

      確定模塊401,用于在確定所述應(yīng)用程序創(chuàng)建的新對象將所述第一存儲空間存滿后,將當(dāng)前時(shí)刻所述第一存儲空間以及所述第二存儲空間中的所有活躍對象存儲至所述第三存儲空間中;

      清空模塊402,用于在確定所有活躍對象均存儲到所述第三存儲空間后,清空所述第一存儲空間以及所述第二存儲空間;

      處理模塊403,用于根據(jù)所述所有活躍對象所占的存儲空間的大小,重置所述第二存儲空間的大小以及所述第三存儲空間的大小,并對所述第二存儲空間以及所述第三存儲空間進(jìn)行交換處理。

      本實(shí)施例提供的裝置,可用于執(zhí)行上述方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,本實(shí)施例此處不再贅述。

      圖5為本發(fā)明基于虛擬機(jī)的垃圾回收裝置實(shí)施例二的結(jié)構(gòu)示意圖。本實(shí) 施例在圖4實(shí)施例的基礎(chǔ)上,如圖5所示,可選地,該裝置還包括:管理模塊404;

      所述管理模塊404,用于在所述處理模塊403根據(jù)所有活躍對象所占的存儲空間,重置所述第二存儲空間的大小以及所述第三存儲空間的大小之前,

      在確定所述第三存儲空間存滿,所有的活躍對象未全部存儲至所述第三存儲空間時(shí),在所述第一存儲空間中釋放已經(jīng)存儲至第三存儲空間的活躍對象所占的存儲空間,并對所述第一存儲空間的剩余可用存儲空間進(jìn)行縮并處理,得到縮并處理后的可用存儲空間;

      將未存儲至所述第三存儲空間的活躍對象存儲至所述縮并處理后的可用存儲空間中;

      在確定未存儲至所述第三存儲空間的活躍對象均存儲至所述第一存儲空間后,清空所述第二存儲空間和所述第一存儲空間中除所述縮并處理后的可用存儲空間之外的存儲空間。

      可選地,還包括:運(yùn)行模塊405;

      所述運(yùn)行模塊405用于在將所述第一存儲空間以及所述第二存儲空間中的活躍對象存儲至所述第三存儲空間中之前,暫停所述應(yīng)用程序的執(zhí)行過程;

      所述運(yùn)行模塊405還用于在所述將所述堆空間的剩余空間作為所述第一存儲空間之后,啟動(dòng)所述應(yīng)用程序的執(zhí)行過程。

      可選地,所述處理模塊403還用于在根據(jù)所述所有活躍對象所占的存儲空間,重置所述第二存儲空間的大小以及所述第三存儲空間的大小之后,將所述新生代存儲區(qū)中除所述第二存儲空間與所述第三存儲空間之外的剩余存儲空間作為所述第一存儲空間。

      本實(shí)施例提供的裝置,可用于執(zhí)行上述方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,本實(shí)施例此處不再贅述。

      本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

      最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1