美文网首页
java和jvm分别查看使用的垃圾收集器

java和jvm分别查看使用的垃圾收集器

作者: 7d972d5e05e8 | 来源:发表于2019-11-04 20:10 被阅读0次

一、java查看垃圾收集器

使用命令:java -XX:+PrintCommandLineFlags -version。如下:


image.png

可以看到这台机器上,安装的java版本,默认的垃圾收集器是-XX:+UseParallelGC。

二、jvm查看垃圾收集器

使用命令:jmap -heap pid。pid通过jps可以查看,如下:


image.png

老年代使用的是CMS收集器。和上面通过java命令查看得到的UseParallelGC(Parallel Scavenge+Parallel Old)不一样。

这是为啥?
因为java命令查看的是本机安装的java版本自带的默认垃圾收集器。而JVM是启动起来的具体进程,可以指定具体使用哪种收集器。比如:同一台机器上安装java1.8版本,默认是UseParallelGC,但是我可以在本机起来两个JVM,分别指定不同的垃圾收集器。所以这就是一直困惑我的问题:通过java命令查看的垃圾收集器和机器上gc日志打印出来的垃圾收集器,不一样。原来是我把java垃圾收集器当成了jvm垃圾收集器,它们两还是不一样的。一个是静态的,一个是动态的。JVM启动的时候,可以设置启动参数,修改垃圾收集器。如下:

JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:CMSMaxAbortablePrecleanTime=5000 -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly"

总结:网上搜索到的,很多都是查看java的垃圾收集器。这里要区分JVM和java的不同。


image.png

相关文章

  • java和jvm分别查看使用的垃圾收集器

    一、java查看垃圾收集器 使用命令:java -XX:+PrintCommandLineFlags -versi...

  • JVM

    JVM(1):Java 类的加载机制 JVM(2):JVM内存结构 JVM(3):Java GC算法 垃圾收集器 ...

  • JVM GC 原理 1:三种基本的垃圾回收算法

    前言 jvm 中当前使用的垃圾回收算法(注意不是垃圾收集器)有三种,分别是标记-清除算法、标记-压缩算法,复制算法...

  • JVM垃圾收集器(三)

    接着上一篇JVM垃圾收集器(二)讲。 四、垃圾收集器 Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,...

  • CMS垃圾收集器——重新标记的讨论

    《深入理解java虚拟机 第二版 JVM高级特性与最佳实践》里面提到CMS垃圾收集器。 CMS垃圾收集器的垃圾回收...

  • 深入剖析JVM之G1收集器、及回收流程、与推荐用例

    JVM垃圾收集器发展历程 第一阶段,Serial(串行)收集器 在jdk1.3.1之前,java虚拟机仅仅能使用S...

  • G1

    G1 垃圾收集器 Java 技术和 JVM 概览 Java 1995年Sun公司发布了一门编程语言——Java。J...

  • Java进阶-JVM-调优

    一、Java进阶-JVM-调优   jvm调优主要是针对垃圾收集器的收集性能优化,令运行在虚拟机上的应用能够使用更...

  • jvm学习

    1,java类的加载机制2,JVM内存结构3,GC算法 垃圾收集器4,jvm知识点总览

  • 修复内存泄漏 Android - 视图绑定/数据绑定

    问题 当使用 JVM(Java 虚拟机)时,垃圾收集器将负责为我们分配和释放内存 - 大多数时候。在某些情况下,它...

网友评论

      本文标题:java和jvm分别查看使用的垃圾收集器

      本文链接:https://www.haomeiwen.com/subject/pmxjbctx.html