观点纠正:1.7   1.8   默认  UseParallelGC   =  PS + PO

首先来看下错误的示范,注意!!!是错误的!!!

本来你想靠百度,没想到进了个坑。博客地址就不贴了,希望各位楼主发博之前记得验证下,别再误导了。

两种错误方式!!!

这张图CSDN抽风,试了半天后面都传不上,就不贴了

尤其是第二张图这个博客主,不觉得打脸吗???

还是自己动手好了

查看JVM默认的垃圾回收器

cmd命令: java -XX:+PrintCommandLineFlags -version

1.设置运行参数

-Xmn5M
-Xms5M
-Xmx5M
-Xss5M
-XX:+PrintGCDetails
-XX:+PrintCommandLineFlags
-XX:+UseParallelGC

执行

List list = new ArrayList();for (int i = 0; i< 10; i++){list.add(new byte[1024]);}

结果:

-XX:InitialHeapSize=5242880 -XX:MaxHeapSize=5242880 -XX:MaxNewSize=5242880 -XX:NewSize=5242880 -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:ThreadStackSize=5120 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
[GC (Allocation Failure) [PSYoungGen: 4096K->507K(4608K)] 4096K->1201K(5632K), 0.0023635 secs] [Times: user=0.00 sys=0.01, real=0.00 secs]
[Full GC (Ergonomics) [PSYoungGen: 507K->498K(4608K)] [ParOldGen: 693K->664K(1024K)] 1201K->1163K(5632K), [Metaspace: 2652K->2652K(1056768K)], 0.0034648 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[Full GC (Ergonomics) [PSYoungGen: 4594K->496K(4608K)] [ParOldGen: 664K->995K(1024K)] 5259K->1491K(5632K), [Metaspace: 2833K->2833K(1056768K)], 0.0046685 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
HeapPSYoungGen      total 4608K, used 1031K [0x00000000ffb00000, 0x0000000100000000, 0x0000000100000000)eden space 4096K, 25% used [0x00000000ffb00000,0x00000000ffc01dc0,0x00000000fff00000)from space 512K, 0% used [0x00000000fff00000,0x00000000fff00000,0x00000000fff80000)to   space 512K, 0% used [0x00000000fff80000,0x00000000fff80000,0x0000000100000000)ParOldGen       total 1024K, used 995K [0x00000000ffa00000, 0x00000000ffb00000, 0x00000000ffb00000)object space 1024K, 97% used [0x00000000ffa00000,0x00000000ffaf8c60,0x00000000ffb00000)Metaspace       used 3203K, capacity 4496K, committed 4864K, reserved 1056768Kclass space    used 343K, capacity 388K, committed 512K, reserved 1048576KProcess finished with exit code 0

很明显 :  UseParallelGC  =  PS + PO

设置: -XX:+UseSerialGC  ,应该是没打  Serial Old

设置:-XX:+UseParNewGC   只看到PN,默认的 Serial Old 应该是没打

[GC (Allocation Failure) [ParNew: 4096K->511K(4608K), 0.0022338 secs] 4096K->1201K(5632K), 0.0022637 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC (Allocation Failure) [ParNew: 4607K->4607K(4608K), 0.0000107 secs][Tenured: 690K->1023K(1024K), 0.0023365 secs] 5297K->1732K(5632K), [Metaspace: 2835K->2835K(1056768K)], 0.0023842 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
Heappar new generation   total 4608K, used 2309K [0x00000000ffa00000, 0x00000000fff00000, 0x00000000fff00000)eden space 4096K,  56% used [0x00000000ffa00000, 0x00000000ffc414e8, 0x00000000ffe00000)from space 512K,   0% used [0x00000000ffe80000, 0x00000000ffe80000, 0x00000000fff00000)to   space 512K,   0% used [0x00000000ffe00000, 0x00000000ffe00000, 0x00000000ffe80000)tenured generation   total 1024K, used 1023K [0x00000000fff00000, 0x0000000100000000, 0x0000000100000000)the space 1024K,  99% used [0x00000000fff00000, 0x00000000ffffffb0, 0x0000000100000000, 0x0000000100000000)Metaspace       used 3266K, capacity 4496K, committed 4864K, reserved 1056768Kclass space    used 350K, capacity 388K, committed 512K, reserved 1048576K

-XX:+UseConcMarkSweepGC   完整看到 PN + cms

-XX:InitialHeapSize=5242880 -XX:MaxHeapSize=5242880 -XX:MaxNewSize=5242880 -XX:MaxTenuringThreshold=6 -XX:NewSize=5242880 -XX:OldPLABSize=16 -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:ThreadStackSize=5120 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:-UseLargePagesIndividualAllocation -XX:+UseParNewGC
[GC (Allocation Failure) [ParNew (promotion failed): 4096K->4608K(4608K), 0.0026160 secs][CMS: 498K->985K(1024K), 0.0022091 secs] 4096K->1167K(5632K), [Metaspace: 2652K->2652K(1056768K)], 0.0048715 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[Full GC (Allocation Failure) [CMS: 1023K->1023K(1024K), 0.0039718 secs] 5631K->1669K(5632K), [Metaspace: 3162K->3162K(1056768K)], 0.0040140 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC (CMS Initial Mark) [1 CMS-initial-mark: 1023K(1024K)] 1712K(5632K), 0.0006037 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[CMS-concurrent-mark-start]
[CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[CMS-concurrent-preclean-start]
[CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC (CMS Final Remark) [YG occupancy: 1935 K (4608 K)][Rescan (parallel) , 0.0002704 secs][weak refs processing, 0.0000052 secs][class unloading, 0.0002659 secs][scrub symbol table, 0.0003359 secs][scrub string table, 0.0000815 secs][1 CMS-remark: 1023K(1024K)] 2958K(5632K), 0.0010050 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[CMS-concurrent-sweep-start]
[CMS-concurrent-sweep: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[CMS-concurrent-reset-start]
[CMS-concurrent-reset: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
Heappar new generation   total 4608K, used 1935K [0x00000000ffa00000, 0x00000000fff00000, 0x00000000fff00000)eden space 4096K,  47% used [0x00000000ffa00000, 0x00000000ffbe3df0, 0x00000000ffe00000)from space 512K,   0% used [0x00000000ffe80000, 0x00000000ffe80000, 0x00000000fff00000)to   space 512K,   0% used [0x00000000ffe00000, 0x00000000ffe00000, 0x00000000ffe80000)concurrent mark-sweep generation total 1024K, used 952K [0x00000000fff00000, 0x0000000100000000, 0x0000000100000000)Metaspace       used 3330K, capacity 4496K, committed 4864K, reserved 1056768Kclass space    used 353K, capacity 388K, committed 512K, reserved 1048576K

-XX:+UseParallelOldGC   PS + PO

-XX:InitialHeapSize=5242880 -XX:MaxHeapSize=5242880 -XX:MaxNewSize=5242880 -XX:NewSize=5242880 -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:ThreadStackSize=5120 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelOldGC
[GC (Allocation Failure) [PSYoungGen: 4096K->511K(4608K)] 4096K->1201K(5632K), 0.0009040 secs] [Times: user=0.06 sys=0.02, real=0.00 secs]
[Full GC (Ergonomics) [PSYoungGen: 511K->502K(4608K)] [ParOldGen: 690K->661K(1024K)] 1201K->1163K(5632K), [Metaspace: 2652K->2652K(1056768K)], 0.0030615 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[Full GC (Ergonomics) [PSYoungGen: 4598K->500K(4608K)] [ParOldGen: 661K->991K(1024K)] 5259K->1492K(5632K), [Metaspace: 2836K->2836K(1056768K)], 0.0046431 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
HeapPSYoungGen      total 4608K, used 2180K [0x00000000ffb00000, 0x0000000100000000, 0x0000000100000000)eden space 4096K, 53% used [0x00000000ffb00000,0x00000000ffd21338,0x00000000fff00000)from space 512K, 0% used [0x00000000fff00000,0x00000000fff00000,0x00000000fff80000)to   space 512K, 0% used [0x00000000fff80000,0x00000000fff80000,0x0000000100000000)ParOldGen       total 1024K, used 991K [0x00000000ffa00000, 0x00000000ffb00000, 0x00000000ffb00000)object space 1024K, 96% used [0x00000000ffa00000,0x00000000ffaf7f30,0x00000000ffb00000)Metaspace       used 3204K, capacity 4496K, committed 4864K, reserved 1056768Kclass space    used 342K, capacity 388K, committed 512K, reserved 1048576K

-XX:+UseG1GC

JVM默认垃圾回收器扫盲,那些说UseParallelGC是 PS + Serial Old 的别再打脸了相关推荐

  1. 原来书中说的JVM默认垃圾回收器是错的!

    来自:码匠笔记 JDK 8 到底默认用的是哪款 GC 收集器? 为啥是 JDK8?不是 9 也不是 10?因为 JDK8 还是市场占有率最高的,所以针对这个版本我做了深入的探索. <深入理解 J ...

  2. jvm(17)垃圾回收器

    垃圾回收器 GC分类与性能指标 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现. 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本. 从 ...

  3. JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1

    GC逻辑分类 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现. 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本. 从不同角度分析垃圾收 ...

  4. JVM笔记(JVM内存+垃圾回收器)详解

    一:java代码的执行流程(引出JVM) 首先由程序员编写成.java文件 然后由javac(java编辑器)将.java文件编译成.class文件 .class文件可以在不同平台/操作系统上的JVM ...

  5. jdk8默认垃圾回收器_JVM系列之经典垃圾回收器(上篇)

    封面图 1.前言 随着 JDK 的不断更新,垃圾回收器的效率也越来越高.每一次 JDK 的更新,必然会包含有垃圾回收器的更新,截止目前,在最新的 JDK14 版本中,最新的垃圾回收器为 ZGC. 从垃 ...

  6. java hotspot 默认垃圾回收器_怎么查看服务器默认的垃圾的收集器是哪个?生产环境上如何配置垃圾回收收集器?谈谈你对垃圾收集器的理解?...

    上篇:https://zhuanlan.zhihu.com/p/165998261​zhuanlan.zhihu.com 一.查看默认的垃圾收集器 1.如何查看默认的垃圾收集器 (1)代码演示: pa ...

  7. 面试官:说一下JVM常用垃圾回收器的特点、优劣势、使用场景和参数设置

    今天去看牙医,他问我年级轻轻牙齿怎么磨损这么严重?我说,没有人点赞的这些年,我都是咬着牙过来的. Java中的垃圾回收器几乎是面试中的必考点,无论是面试初级,中级还是高级,总免不了要问一问垃圾回收器的 ...

  8. JVM - 你们垃圾回收器用的什么? G1有哪些特点?G1如何实现可预测的停顿时间?漏标问题如何解决的?介绍下三色标记?说说STAB 算法 ?

    文章目录 1.GC需要完成的3件事情是什么? 2. 那为什么我们还要去了解GC和内存分配呢? 3.什么是内存溢出?什么是内存泄露? 4.程序计数器,虚拟机栈,本地方法栈为什么不需要考虑垃圾回收? 5. ...

  9. JVM学习-垃圾回收器

    垃圾回收器 1.垃圾回收器概述 2.串行 3.吞吐量优先 4.响应时间优先(CMS重点) 1.垃圾回收器概述 垃圾回收发生时,其他线程都暂停.STW是指stop the world的时间,即垃圾回收的 ...

最新文章

  1. C#控制DataMax打印机问题总结
  2. 车辆动力学及控制_道路自适应车辆动力学控制研究(127页)【附下载】
  3. C++ 中内存分配和回收
  4. C语言实例第2期:判断某一年是否为闰年
  5. BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc
  6. grasshopper for rhino 6下载_从SU到Rhino——lumion批量种树
  7. Qt connect信号连接的几种写法
  8. python随机生成六位数密码_python生成6位包含数字和字母的密码
  9. 2018年软工第一次作业
  10. 引用opencv异常
  11. cmake编译多个文件夹_cmake多目录构建(二)
  12. thinkpad扩展坞怎么用_顶级雷电3显卡扩展坞到底好用吗?技嘉 RTX2080Ti GAMING BOX测评...
  13. [转载] Python将列表转换成字符串及字符串左右中对齐输出问题
  14. sublime开发apicloud项更新apploader解决
  15. iframe允许嵌入的视频全屏播放
  16. C# 单个按钮实现暂停或继续
  17. 计算机属性资源管理器已停止工作,经常出现“资源管理器已停止工作”怎么办的完美解决办法...
  18. Time-Evolving Graph Convolutional Recurrent Network for Traffic Prediction论文笔记
  19. 一文带你搞懂C#多线程的5种写法
  20. kivy制作安卓APP--简单音乐播放器

热门文章

  1. 添加achartengine.jar包到AS
  2. 【乡巴佬】菜鸟收藏:Coreldraw快捷键总集粹
  3. 外包干了三年,算是废了...
  4. c语言保留n位有效数字问题
  5. HTML5开发基础培训(完整)
  6. linux系统吃性能吗,教你如何优化Linux运行速度
  7. 头歌实践平台(python数据结构)(1-6)
  8. 哲学小文——钉钉子的故事
  9. 2020年市政方向-通用基础(施工员)模拟试题及市政方向-通用基础(施工员)模拟考试题
  10. matlab浮点数求绝对值_matlab绝对值函数怎么表示 matlab绝对值怎么表示?