日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Shallow and retained sizes

發(fā)布時(shí)間:2024/1/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shallow and retained sizes 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自:http://www.yourkit.com/docs/90/help/sizes.jsp?

YourKit Java Profiler is capable of measuring?shallow?and?retained?sizes of objects.

?

Shallow size?of an object is the amount of memory allocated to store the object itself, not taking into account the referenced objects. Shallow size of a regular (non-array) object depends on the number and types of its fields. Shallow size of an array depends on the array length and the type of its elements (objects, primitive types). Shallow size of a set of objects represents the sum of shallow sizes of all objects in the set.

Retained size?of an object is its shallow size plus the shallow sizes of the objects that are accessible, directly or indirectly,?only?from this object. In other words, the retained size represents the amount of memory that will be freed by the garbage collector when this object is collected.

To better understand the notion of the?retained size, let us look at the following examples:

In order to measure the retained sizes, all objects in memory are treated as nodes of a graph where its edges represent references from objects to objects. There are also special nodes -?GC root?objects, which will not be collected by?Garbage Collector?at the time of measuring (read more about?GC roots).

The pictures below show the same set of objects, but with varying internal references.

?

Figure 1:

Figure 2:

Let us consider?obj1.
As you can see, in both pictures we have highlighted all of the objects that are directly or indirectly accessed?onlyby?obj1. If you look at Figure 1, you will see that?obj3?is not highlighted, because it is also referenced by a?GC rootobject. On Figure 2, however, it is already included into the retained set, unlike?obj5, which is still referenced by?GC root.

Thus, the retained size of?obj1?will represent the following respective values:

  • For Figure 1: the sum of shallow sizes of?obj1,?obj2?and?obj4
  • For Figure 2: the sum of shallow sizes of?obj1,?obj2,?obj3?and?obj4

Looking at?obj2, however, we see that its retained size in the above cases will be:

  • For Figure 1: the sum of shallow sizes of?obj2?and?obj4
  • For Figure 2: the sum of shallow sizes of?obj2,?obj3?and?obj4

In general, retained size is an integral measure, which helps to understand the structure (clustering) of memory and the dependencies between object subgraphs, as well as find potential roots of those subgraphs.

?

轉(zhuǎn)載于:https://blog.51cto.com/yaoyinjie/697924

總結(jié)

以上是生活随笔為你收集整理的Shallow and retained sizes的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。