内存管理与运行时

设计内容:

1)编码时支持;

2)编译时支持;

3)运行时支持;

所有运行时的内存管理都是针对虚拟内存进行管理的。

内存释放的三种方案:

1)用完即释放 c++;

2)事务完成即释放 autoReleasepool;

3) 内存不足即释放 java;

自动内存管理,无用内存标示的两种方案:

1)引用计数;

2)根节点不可达。

内存管理策略:

1)手动管理:c、c++;

2)引用计数;

3)垃圾收集。

运行时管理策略:

手动管理:内存分散管理,随时释放;

引用计数:

1)手动管理:计数为零时释放;

2)autoreleasePool:poolDrain时机:(1)运行循环;(2)多线程入口;(3)大内存管理;(4)循环管理;

垃圾收集:

Minor GC触发条件:当Eden区满时,触发Minor GC。

原文地址:https://www.cnblogs.com/feng9exe/p/7269919.html