heap堆算法的使用分析

新生代  --复制算法

老年代 --标记压缩清除算法

分代 分区思想

垃圾回收的任务是识别和回收垃圾对象进行内存清理,为了让垃圾回收器可以高效的执行,大部分情况下,会要求系统进入一个停顿的状态。

停顿的目的是终止所有应用线程,只有这样系统才不会有新的垃圾产生,同时停顿保证了系统状态正在某一个瞬间的一致性,也有益于更好的低标记垃圾对象。

因此在垃圾回收时,都会产生应用程序的停顿。

分代算法:就是根据对象的特点把内存分成N块,而后根据每个内存的特点使用不同的算法。

对于新生代和老年代来说,新生代回收频率很高,但是每次回收耗时都很短,而老年代回收频率很低,但是耗时会相对较长,所以尽量减少老年代的GC。

分区算法:其主要就是将整个内存分为N多个小的独立空间,每个小空间都可以独立使用,这样细粒度的控制一次回收多少个小空间,而不是对占整个空间

进行GC,从而提升性能,并减少GC停顿的时间。

花太香

运行时虚拟机中的内存如何布局?

Java 原生类型  引用类型

原文地址:https://www.cnblogs.com/mutong1228/p/10290023.html