目前通常使用的是什么垃圾收集器?

1 个回答

  • 小洋
    纵然前路迷茫,纵然天隔一方,纵然我手中的刀刃已然破碎,也无法阻挡我寻找你的道路。
    怎么查询当前JVM使用的垃圾收集器? 使用这个命令可以查询当前使用的垃圾收集器 java -XX:+PrintCommandLineFlags -version 另外这个命令可以查询到更加详细的信息 java -XX:+PrintFlagsFinal -version | grep GC 我们在IDEA中启动的一个Springboot的项目,默认使用的垃圾收集器参数是 -XX:+UseParallelGC ```java -XX:InitialHeapSize=134217728 -XX:MaxHeapSize=2147483648 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC java version "1.8.0_73" Java(TM) SE Runtime Environment (build 1.8.0_73-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode) ``` ### Parallel Scavenge+Serial Old JDK8默认情况下服务端模式下JVM垃圾回收参数是-XX:+UseParallelGC参数,也就是会使用Parallel Scavenge+Serial Old的收集器组合,进行内存回收。 ParNew+CMS 但是一般如果我们的后端应用不是那种需要进行大量计算的应用,基于低延迟的考虑,可以考虑使用-XX:+UseConcMarkSweepGC进行垃圾收集,这种配置下会使用ParNew来收集新生代内存,CMS垃圾回收器收集老年代内存。 ### G1 在JDK9时,默认的垃圾收集器是G1收集器,也可以使用-XX:+UseG1GC参数来启动G1垃圾收集器。 ![image.png](https://images.codewd.com/567ef244c9ff2de56d230fcf59e02696.png)
    编辑于 2022-02-26 19:39 •IP属地 安徽
    举报
    评论
    收藏