欢迎来到广东共赢金属回收公司网站专注于废旧金属,废铜 ,废铝,废铁,废不锈钢,贵金属等回收

16年专注于废旧金属回收

诚信经营,价高同行,回收业务面向全国

全国回收热线

13927258898

金属回收知识

PS板回收 1.概念理解1.1.并行(Mark-Sweep)与并发()并行

作者:广东共赢回收 发布时间:2021-08-16 06:01:52 点击:

1. 概念理解

1.1.并行()和并发()

:指多个垃圾回收线程并行工作,但此时用户线程仍处于等待状态

并发:指用户线程和垃圾回收线程同时执行

1.2. Minor GC 和 Major GC

Minor GC:指新生代中发生的垃圾回收动作。由于大多数Java对象都具有生死存亡的特点,因此Minor GC非常频繁,一般回收速度也比较快。

Major GC:指的是晚年发生的GC。 Major GC 出现,通常伴随着至少一个 Minor GC。 Major GC的速度一般比Minor GC慢10倍以上。

1.3.吞吐量

吞吐量是CPU运行用户代码所用时间与CPU总消耗时间的比值,即吞吐量=用户代码运行时间/(用户代码运行时间+垃圾回收时间)

假设虚拟机一共运行100分钟PS板回收,其中垃圾回收耗时1分钟,吞吐量为99%

2.对象生存判断

回收的第一步是标出哪些需要回收。为此,需要有一种方法来确定对象是否还活着。如果是活的,就不需要回收

判断方式是可达性分析,通过遍历对象的引用树来找到幸存的对象

PS板回收_ps板回收_回收钽板

所谓的参考树,本质上是一个有根的图结构。它在对象的根句柄下找到活节点并标记它们;剩下的未标记节点是死节点,这些对象是可以回收的

遍历从GC Roots开始,那么哪些对象可以作为GC Roots对象?

3.垃圾收集算法

3.1.Mark-Sweep 算法(Mark-Sweep)

标记清除算法分为标记阶段和清除阶段两个阶段。标记阶段的任务是标记所有需要回收的对象,清理阶段的任务是回收被标记对象占用的空间。

从图中不难看出,mark-sweep算法更容易实现,但是有一个比较严重的问题,容易出现内存碎片。碎片过多可能会导致后续进程无法为大对象分配空间。提前找到足够的空间来触发新的垃圾回收。

优点:简单

缺点:容易产生大量碎片

3.2.copy 算法()

它将可用内存分成两块,一次只使用一块。当这块内存用完时,将幸存的对象复制到另一个块中,然后立即清除已用的内存空间,这样就不容易出现内存碎片。

Java 的新一代串行垃圾收集器采用了复制算法的思想。新生代分为三个部分:伊甸空间、从空间、到空间。其中,from空间和to空间可以看作是两个大小相同、状态相同、角色交换进行复制的空间块。 Eden 与默认比例为 8:1

回收钽板_PS板回收_ps板回收

该算法虽然实现简单,运行效率高,不易出现内存碎片,但由于可以使用的内存减少到原来的一半,因此在内存空间的使用上付出了高昂的代价。

显然,算法的效率与幸存对象的数量有很大关系。如果幸存对象较多,则算法效率会大大降低。

优点:简单,不易产生碎片

缺点:可用内存较少,如果存活对象较多,复制效率会大大降低

3.3.Mark-组织算法(Mark-)

该算法的标记阶段与Mark-Sweep相同,但标记完成后并不直接清理可回收的对象,而是将所有幸存的对象移到一端,然后清理掉内存之外的内存结束边界。

复制算法的效率是建立在存活对象少,垃圾对象多的前提下。这种情况经常发生在年轻代,但在老年代更常见,大多数对象都是幸存对象。如果仍然使用复制算法,由于幸存对象较多,复制成本也会很高。

标记压缩算法修复了标记清除算法的缺点——它将所有标记的和存活的对象移动到内存区域的开头。这种方法的缺点是GC暂停时间会增加,因为你需要将所有对象复制到一个新的地方并更新它们的引用地址。与mark-and-sweep算法相比,它的优点是不容易产生碎片;与复制算法相比,其优点是可用内存空间不会减少。

优点:不易产生碎片,充分利用可用内存空间

缺点:用户等待时间变长

回收钽板_PS板回收_ps板回收

3.4.分代恢复算法()

分代收集算法是目前大多数JVM垃圾收集器使用的算法。其核心思想是根据对象的生命周期将内存划分为若干块。根据每个内存块的特点,采用不同的回收算法来提高垃圾回收的效率。

新闻资讯

相关产品

在线客服
联系方式

回收电话

13927258898

上班时间

周一到周日

公司电话

13927258898

二维码
线