5、即时编译器辅助的对象回收与空间重用及三角矩阵函数优化

即时编译器辅助的对象回收与空间重用及三角矩阵函数优化

即时编译器辅助的对象回收与空间重用

在编程中,对象的管理和内存的有效利用是至关重要的。这里介绍一种基于即时编译器(JIT)辅助的对象回收与空间重用方法,它主要基于GCv5-MS进行改进。

数组与递归处理
  • 数组处理 :将数组的所有元素抽象为带有特殊字段的对象,对元素的访问视为对特殊字段的访问。这样做可以减少显式释放对象的大小,同时节省分析开销。
  • 递归处理 :过程间分析能够处理递归情况。当遇到未分析的被调用者时,会维护一个方法调用链。若当前未分析的被调用者已存在于链中(即存在递归),则切断链中的循环,并基于当前方法摘要进行保守的过程间组合。
GCv5 - MS概述

GCv5是一个支持多个收集器协同工作的并行垃圾回收器,选择GCv5 - MS来实现显式回收和空间重用(记为JIT - GCv5 - MS),因为它使用空闲列表来组织堆空间,便于从堆中添加或获取空闲空间。
- 对象分类 :将对象分为小对象(小于1KB)和大对象(大于或等于1KB)。
- 空闲池 :提供了Free Block Pool(FBP)和Free Area Pool(FAP)分别用于这两种对象的分配。
- FBP :有254个隔离的空闲块列表,所有变异器共享。同一列表中的块提供相同大小的对象(从8B到1020B,按4B对齐)。每个块由头和数据区域组成,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值