垃圾回收策略学习总结

Posted superlizhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了垃圾回收策略学习总结相关的知识,希望对你有一定的参考价值。

垃圾回收策略一般分为手动回收和自动回收,java python javascript等高级预言为了减轻程序员负担和出错概率采用了自动回收策略。
JavaScript的原始类型数据和引用数据是分别存储在栈和椎中的,由于栈和堆分配空间大小差异,垃圾回收方式也不一样。栈中分配空间通过ESP的向下移动销毁保存在栈中数据;堆中垃圾回收主要通过副垃圾回收器(新生代)和主垃圾回收器(老生代)负责的,副垃圾回收器采用scavenge算法将区域分为对象区域和空闲区域,通过两个区域的反转让新生代区域无限使用下去。主垃圾回收器采用Mark-Sweep(Mark-Compact Incremental Marking解决不同场景下问题的算法改进)算法进行空间回收的。无论是主副垃圾回收器的策略都是标记-清除-整理三个大的步骤。另外还有新生代的晋升策略(两次未清除的),大对象直接分配在老生代。


以上是关于垃圾回收策略学习总结的主要内容,如果未能解决你的问题,请参考以下文章

JVM调优总结-基本垃圾回收算法

JVM调优总结-基本垃圾回收算法

关于JVM内存垃圾回收性能调优总结篇

JVM调优总结-基本垃圾回收算法有那些?

JVM调优总结

垃圾回收器和内存回收策略