
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java内存回收算法是程序员在学习Java编程开发语言的时候需要重点掌握的一个编程知识点,下面我们就通过案例分析来了解一下,Java内存回收算法都有哪些类型。
1)标记-清除算法
实现原理
标记出所有需要回收的对象。
统一回收所有被标记的对象。
特点
标记和清除效率不高。
产生大量不连续的内存碎片。
2)复制算法
实现原理
将内存划分为大小相等的两块。
一块内存用完之后复制存活对象至另一块。
清理另一块内存。
特点
实现简单,运行高效。
浪费一半空间,代价大。
3)标记-整理算法
实现原理
标记过程与”标记-清除“算法一样。
存活对象往一端进行移动。
清理其余内存。
特点
避免”标记-清除”算法导致的内存碎片。
避免复制算法的空间浪费。
4)分代收集算法(大多数虚拟机厂商所选用的算法)
特点
结合多种收集算法的优势。
新生代对象存活率低=>“复制”算法(注意这里每一次的复制比例都是可以调整的,如一次仅复制30%的存活对象)。
老年代对象存活率高=>“标记-整理”算法
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。