JVM的垃圾回收Serial、Serial Old、Parallel Scavenge、Parallel Old的介绍和STW(Stop The World)

在这里插入图片描述

Serial和Serial Old

JDK诞生的第一组垃圾回收器就是Serial和Serial Old。

Serial工作在年轻代,使用标记-复制的回收算法,它是单线程的垃圾回收器
Serial Old工作在老年代,使用标记-整理的回收算法,它也是单线程的垃圾回收器

使用Serial+Serial Old:-XX:+UseSerialGC=Serial+SerialOld

当垃圾回收器工作时所有业务线程都会停止运行,也就是说业务线程工作一段时间垃圾回收工作一段时间,这个业务线程停顿的过程就是STW

在这里插入图片描述

<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: JVM是Java Virtual Machine(Java虚拟机)的简称,是一种能够在不同平台上运行Java程序的软件。在JVM中,有两种垃圾回收器(Garbage Collector)分别为Parallel ScavengeParallel OldParallel Scavenge是一种新生代(Young Generation)垃圾回收器,采用复制算法(Copying Algorithm)实现。它的设计目标是尽可能地减少垃圾回收的停顿时间,以提高吞吐量(Throughput)。Parallel Scavenge垃圾回收时,会将新生代分成多个大小相等的区域(Region),每个区域都是一个独立的Eden、Survivor或者Tenured区域。在垃圾回收时,所有的Eden区域和Survivor区域中存活的对象都会被复制到一个新的Survivor区域中,而所有的Tenured区域中存活的对象则会被移动到老年代(Old Generation)。这个过程中,每个区域都是独立进行的,不需要进行任何协调,因此可以充分利用多核CPU的并行能力。 Parallel Old是一种老年代(Old Generation)垃圾回收器,同样采用复制算法实现。它的设计目标是尽可能地减少垃圾回收的总时间,以提高吞吐量。Parallel Old垃圾回收时,会将老年代分成多个大小相等的区域,每个区域都是一个独立的Tenured区域。在垃圾回收时,所有的Tenured区域中存活的对象都会被复制到一个新的区域中,而被回收的区域则会被释放。与Parallel Scavenge类似,Parallel Old也可以充分利用多核CPU的并行能力。 总之,Parallel ScavengeParallel Old都是采用复制算法实现的垃圾回收器,它们的设计目标都是提高吞吐量。Parallel Scavenge主要用于新生代的垃圾回收,而Parallel Old则主要用于老年代的垃圾回收。两者都可以充分利用多核CPU的并行能力,从而提高垃圾回收的效率。 ### 回答2: JVM(Java虚拟机)是Java编程语言的运行时环境,它可以执行Java字节码并管理内存,其中包括垃圾回收器。 在JVM中,Parallel ScavengeParallel Old是两种垃圾回收器。Parallel ScavengeParallel Old都属于并行垃圾回收器,它们之间存在一定的区别和用途。 Parallel Scavenge(并行Scavenge)是JVM中的年轻代垃圾回收器,主要用于新生代的垃圾回收。它的特点是通过多个线程并行地进行垃圾回收,以提高垃圾回收的效率。Parallel Scavenge使用复制算法来回收内存,即将存活的对象复制到一个新的空间中,然后将整个空间清空,从而达到垃圾回收的目的。由于它的并行性较高,适用于拥有大量处理器和较高吞吐量的应用程序。 Parallel Old(并行Old)是JVM中的老年代垃圾回收器,主要用于老年代的垃圾回收。它的特点是同样采用多线程并行地进行垃圾回收,但采用标记-压缩算法。在标记阶段,Parallel Old会标记所有的存活对象;在压缩阶段,它会将所有存活对象移动到内存空间的一端,并清理未使用的内存,从而释放出内存空间。Parallel Old适用于长时间存在的大对象,在标记和压缩阶段会产生较长的停顿时间,因此对于延迟要求较高的应用程序可能不太合适。 综上所述,Parallel ScavengeParallel OldJVM中的两种并行垃圾回收器,分别用于年轻代和老年代的垃圾回收Parallel Scavenge适用于拥有大量处理器和高吞吐量的应用程序,而Parallel Old适用于长时间存在的大对象。选择适合的垃圾回收器可以提高应用程序的性能和响应速度。 ### 回答3: JVM是Java虚拟机的简称,在Java程序的运行过程中起着重要的作用。其中,Parallel Scavenge(并行新生代)和Parallel Old(并行老年代)是JVM中两种不同的垃圾回收器。 Parallel Scavenge是一种并行垃圾回收器,主要用于新生代的垃圾回收。它的特点是使用多个线程并行地回收垃圾,以达到提高垃圾回收效率的目的。并行回收可以更快地处理大量的垃圾对象,同时尽量减少应用程序的停顿时间。Parallel Scavenge使用复制算法进行垃圾回收,将新生代分为Eden区和两个Survivor区,通过不断地将存活的对象复制到另一个存活区来进行垃圾回收Parallel Old则是一种并行垃圾回收器,主要用于老年代的垃圾回收。老年代中的对象存活周期较长,因此垃圾回收需要更加高效。Parallel Old同样使用复制算法进行垃圾回收,但与Parallel Scavenge不同的是,Parallel Old使用的是标记-整理算法,它会先标记所有存活的对象,然后将这些对象整理到内存的一端,再进行垃圾回收。 总的来说,Parallel ScavengeParallel Old都是JVM中的垃圾回收器,它们都利用多线程的方式进行并行垃圾回收,提高了垃圾回收的效率。Parallel Scavenge主要用于新生代的垃圾回收,而Parallel Old主要用于老年代的垃圾回收。两者使用的算法有些不同,但都可以通过并行回收来减少应用程序的停顿时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值