亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種在JVM中動態(tài)計算對象重用價值的方法與流程

文檔序號:12363082閱讀:來源:國知局

技術特征:

1.一種在JVM中動態(tài)計算對象重用價值的方法,其特征在于,通過下面過程實現:

(1)在程序開始運行時,JVM在內存中為程序新建一塊存放統計數據的區(qū)域Sspace;

(2)修改JVM的類加載器ClassLoader,在加載一個新類的時候,在方法區(qū)為該類的類信息新增一個指針P,為該類在Sspace中分配一個數據結構Sstruct,指針P指向該類對象運行時統計的數據結構Sstruct;

(3)為一個類分配的數據結構Sstruct中,包含四個參數和一個指針;四個參數為:該類對象的重用價值V,執(zhí)行完上次GC之后該類對象存活的個數O,上次GC前該類對象的個數B,在本次GC前該類對象的個數A;指針R指向該類在方法區(qū)的類信息;在Sstruct初始化時,將V、B、O、A均置為0,將R指向類信息在方法區(qū)的地址;GC代表內存垃圾回收;

在內存垃圾收集器中開始GC事件時,對每個類對象,根據下式計算重用價值v,

<mrow> <mi>v</mi> <mo>=</mo> <mfrac> <mrow> <mi>B</mi> <mo>+</mo> <mi>O</mi> <mo>+</mo> <mi>A</mi> </mrow> <mn>3</mn> </mfrac> <mo>&times;</mo> <mfrac> <mrow> <mi>a</mi> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>A</mi> <mo>-</mo> <mi>O</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>B</mi> <mo>-</mo> <mi>O</mi> </mrow> </mfrac> <mo>&times;</mo> <mfrac> <mn>2</mn> <mi>&pi;</mi> </mfrac> </mrow>

然后,將v增加到對應的V上,并清零O值。

2.根據權利要求1所述的一種在JVM中動態(tài)計算對象重用價值的方法,其特征在于,所述的JVM中,在內存垃圾收集器中發(fā)生新增對象事件時,修改對應的Sstruct中的A值,使A加1。

3.根據權利要求1所述的一種在JVM中動態(tài)計算對象重用價值的方法,其特征在于,所述的JVM中,在內存垃圾收集器中發(fā)生標記到存活對象事件時,修改對應的Sstruct中的O值,使O加1。

4.根據權利要求1所述的一種在JVM中動態(tài)計算對象重用價值的方法,其特征在于,所述的JVM中,在內存垃圾收集器中結束GC事件時,對所有的Sstruct進行清理,在每個Sstruct中,將A值賦給B,O值賦給A。

5.根據權利要求1所述的一種在JVM中動態(tài)計算對象重用價值的方法,其特征在于,所述的在JVM中動態(tài)計算對象重用價值的方法,在程序運行結束后,將Sspace中的數據導出,并根據每個數據結構Sstruct的指針R導出該類對象的統計信息。

當前第2頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1