MMTk特性认识

整体介绍

MMTk是一个内存管理的工具包 ,同时也是jikes虚拟机的内存管理模块。

其内部实现了多种策略的垃圾回收机制,用于进行配置使用。

主要模块

Plans

对外的整体接口:

  1. 虚拟内存的布局,初始空间的产生与管理
  2. 内存分配
  3. 垃圾回收
  4. 内存使用统计

针对多核的设计考虑:

  1. 线程内内存与全局内存(Thread-local-heap)
  2. 线程同步
  3. 缓存失效
  4. 栅栏

具体虚拟机对外的接口规格:

  1. 策略选择
  2. 断言实现(MMTk需要)
  3. 读写栅栏 的回调
  4. 垃圾回收
  5. 锁机制
  6. 内存初始化 (与系统交互)
  7. 对象模型(对象布局、GC的固有数据)
  8. 启动控制参数
  9. 引用类型(Soft,weak等)
  10. 根结点、对象字段扫描策略 (对象布局、引用类型、回调)
  11. 数据统计
  12. 字符串管理
  13. GC跟踪 支持
  14. 常量池

你可能感兴趣的:(MMTk)