• jvm默认垃圾收集器查看及相关知识


    首先说一下关于jdk8的jvm默认垃圾收集器是什么的问题,网上看了很多这个的帖子,感觉很懵逼,大部分都是猜的,实践者很少。所以我还是秉承别废话,上干货的传统。

    1、首先要明确一点,既然是默认,那么在使用jvm时,应用启动对应的jvm参数必须是默认的,不然查了半天都乱了

    2、执行 

    java -XX:+PrintCommandLineFlags -version
    -XX:InitialHeapSize=1055594816 -XX:MaxHeapSize=16889517056 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 
    java version "1.8.0_251"
    Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
    Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
    -XX:+UseParallelGC   这个就是使用的垃圾收集器,看到这个有人会疑问,这个是老年代收集器,还是年轻代收集器,别急,我一开始也疑问,后来看到相关帖子说,这个可以激活
    UseParallelOldGC(老年代收集器),同样如果设置了UseParallelOldGC,同样会激活UseParallelGC 也就是说,如果定义一个,那么另一个也就确定了。那么到底是不是呢,必杀器来了。
    3、使用 jinfo -flag UseParallelOldGC id 注意此id为应用服务的id 如果查看结果有 + 号说明是启用 ,如果是 - 则是未启用,到此查看默认收集器肯定能确定了。
    [root@localhost /]# jinfo -flag UseParallelOldGC 4074
    -XX:+UseParallelOldGC

    明显是启用状态


    4、最后总结一下:
    七大垃圾回收器 Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1
    盗图一张

     参考:https://www.jianshu.com/p/ad98b85bb420



     
  • 相关阅读:
    SQL Server 存储过程
    String.format Tutorial
    第五次
    第四次
    第三次
    第一次作业
    第二次
    c/c++
    HelloWorld出现的问题
    Android系统架构
  • 原文地址:https://www.cnblogs.com/zxg-blog/p/13948644.html
Copyright © 2020-2023  润新知