Art虚拟机内存抽象(2)--LargeObjectSpace

Large Object Space

一、基本定义

      

 

1、live_bitmap_ 与 mark_bitmap_ 是用于垃圾收集标记的

2、LargeObjectSpace分为两种,LargeObjectMapSpace与FreeListSpace

       mapSpace这一种,内存不是连续的

       FreeListSpace这一种,内存是连续的

3、看好mirror::Object *Alloc 接口,该接口就是用于内存分配对象的

4、分配的对象,还是存在于LargeObjectSpace空间中的。同时,也可以提出一个问题,都有哪些Space抽象,还实现了Alloc接口呢?

 

问题的答案就是: BumpPointerSpace,ZygoteSpace,RegionSpace,RosAllocSpace,MemoryToolMallocSpace

这几种Space,再类别上面肯定是不同的

另外,还有一个关键的ImageSpace,这个里面是没有Alloc接口的,就是它是不能够分配对象的

 

5、很关键,这里初探了art的对象分配,与释放

本来想着很简单,对象都是从LargeObjectSpace中分配的,看来还是不对啊。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值