zoukankan      html  css  js  c++  java
  • 托管堆

    托管堆根据存储信息不同化为多个区域,其中最主要2个区域 垃圾回收堆(GCheap) 和加载堆 (LoaderHeap)。

         GCheap用于存储对象实例,收GC管理,loaderHeap又可分为:high-frequency-heap ,low-frequency-heap和Stub-heap,不同的堆上又存储不同的信息。loaderheap最重要的信息就是元数据相关的信息。也就是type对象。,每个type对象在loader heap上体现为一个method table 方法表。而method table 中记录了存储的元数据信息,例如:基类型,静态字段,实现的接口,所有的方法等等。 loaderheap不受GC控制,其生命周期从创建到appdomain卸载。

         相关基本概念

         typehandler 类型句柄,指向对象实例的方法表,每个对象创建时都包含附加成员,并且占用4个字节的内存空间。每个类型都对应一个方法表,方法表创建于编译时,主要包含了类型的特征信息,实现的接口数目,方法表的slot数目等。

         syncBlockIndex  用于线程同步,每个对象创建时也包含该附加成员,它指向一块被称为 Synchronization Block的内存块,用于管理对象同步,同样占用4个字节的内存空间。

         NextObjPtr 由托管堆维护的下一指针,用于标识下一个新建对象时在托管堆中的所处的位置,CLR初始化时,NextObjPtr 位于托管堆的基地址。

        

  • 相关阅读:
    体温上报APP2.2(第二阶段总结)
    体温上报APP2.1
    体温上报APP2.0
    体温上报APP1.2
    体温上报APP1.1
    个人作业——体温上报APP
    安卓学习14(ViewPager)
    安卓学习13(RecyclerView)
    安卓学习12(ListView)
    javascript获得给定日期的前一天的日期
  • 原文地址:https://www.cnblogs.com/30763402/p/1618191.html
Copyright © 2011-2022 走看看