查看jdk使用的是什么垃圾收集器
一、方法一
打印虚拟机所有参数
[root@localhost ~]# java -XX:+PrintFlagsFinal -version | grep :
uintx InitialHeapSize := 258689024 {product}
uintx MaxHeapSize := 4139778048 {product}
bool PrintFlagsFinal := true {product}
bool UseCompressedOops := true {lp64_product}
bool UseParallelGC := true {product}
第三列”=”表示第四列是参数的默认值,而”:=” 表明了参数被用户或者JVM赋值了。
二、方法二
[root@localhost ~]# java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=258689024 -XX:MaxHeapSize=4139024384 -XX:+PrintCommandLineFlags -XX:+UseCompressedOops -XX:+UseParallelGC
让我们看下另外一个参数,事实上这个参数非常有用: -XX:+PrintCommandLineFlags。这个参数让JVM打印出那些已经被用户或者JVM设置过的详细的XX参数的名称和值。
换句话说,它列举出 -XX:+PrintFlagsFinal的结果中第三列有":="的参数。以这种方式,我们可以用-XX:+PrintCommandLineFlags作为快捷方式来查看修改过的参数。
参数解读:
-XX:+UseParallelGC
-XX:+UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效。即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集。
-XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC
-XX:+UseParallelOldGC:配置年老代垃圾收集方式为并行收集。JDK6.0支持对年老代并行收集。
Parallel Scavenge收集器架构中本身有PS MarkSweep收集器来进行老年代收集,并非直接使用了Serial Old收集器,但是这个PS MarkSweep收集器与Serial Old的实现非常接近,所以在官方的许多资料中都是直接以Serial Old代替PS MarkSweep进行讲解,这里笔者也采用这种方式。
三、方法三
- import java.lang.management.GarbageCollectorMXBean;
- import java.lang.management.ManagementFactory;
- import java.util.List;
- public class x {
- public static void main(String args[]) {
- List<GarbageCollectorMXBean> l = ManagementFactory.getGarbageCollectorMXBeans();
- for(GarbageCollectorMXBean b : l) {
- System.out.println(b.getName());
- }
- }
- }
输出:
- [root@localhost ~]# java x
- PS Scavenge
- PS MarkSweep
查看jdk使用的是什么垃圾收集器的更多相关文章
- 查看JVM使用的默认的垃圾收集器
一.查看步骤 cmd执行命令: java -XX:+PrintCommandLineFlags -version 输出如下(举例): 针对上述的-XX:UseParallelGC,这边我们引用< ...
- JVM垃圾收集器组合--各种组合对应的虚拟机参数实践
前言 相信很多人都看过下面这张图,(来自<深入理解Java虚拟机:JVM高级特性与最佳实践>) 在学完几种垃圾收集器类型及组合后,打算看看实际中程序用到的垃圾收集器. 但是在jconsol ...
- JVM垃圾收集器
JVM中垃圾的回收由垃圾收集器进行,随着JDK的不断升级,垃圾收集器也开发出了各种版本,垃圾收集器不断优化的动力,就是为了实现更短的停顿. 下面是7种不同的分代收集器,如果两个收集器之间有连线,则表示 ...
- JVM经典垃圾收集器
这个关系不是一成不变的,由于维护和兼容性测试的成本,在JDK 8时将Serial+CMS. ParNew+Serial Old这两个组合声明为废弃(JEP 173),并在JDK 9中完全取消了这些 ...
- 垃圾收集器G1和CMS ,以及老年代和新生代的比例设置
首先 1.G1是包括年轻代和年老代的GC 2.CMS是年老代GC 3.二者在某些时候都需要FullGC(serial old GC)的辅助 ###CMS收集器:CMS(ConCurrent Mark ...
- 【JDK】各个版本垃圾收集器
G1收集器(Garbage First)是Java虚拟机中垃圾收集器的一种. G1收集器是Java虚拟机的垃圾收集器理论进一步发展的产物,它与前面的CMS收集器相比有两个显著的改进:一是G1收集器是基 ...
- 通过jmap查看jvm采用的垃圾收集器
1 tomcat 的PID获得 ps -ef|grep tomcat [root@iZ2zeapch8kbaw4bxnz8vxZ tomcat7]# ps -ef|grep tomcat root ...
- JVM的分区+查看GC对象是否存活+3种GC算法+7种垃圾收集器+如何减少GC次数
一.JVM的分区: 1.程序计数器(私有) 程序计数器是一块较小的内存分区,你可以把它看做当前线程所执行的字节码的指示器. 在虚拟机的概念模型里,字节码解释器工作时,就是通过改变计数器的值来选择下 ...
- 查看/设置JVM使用的垃圾收集器
一.设置垃圾收集器的参数 -XX:+UseSerialGC,虚拟机在Client模式下的默认值,Serial+Serial Old -XX:+UseParNewGC,ParNew+Serial Old ...
随机推荐
- 愤怒的小鸟【$DP$优化】
卡常的状压\(DP\),愤怒的小鸟. 其实本来是个很水的状压\(DP\),但因为最后三个点\(n=18\),成功地把我的不可能达到的下界为\(\Omega(2^nn^2)\),紧确的上界为\(O(2^ ...
- 如何解决安卓(系统版本低) CSS3 动画问题---高性能动画
目前对提升移动端CSS3动画体验的主要方法有几点: 尽可能多的利用硬件能力,如使用3D变形来开启GPU加速 -webkit-transform: translate3d(0, 0, 0); -moz- ...
- HDU1003 最大子段和 线性dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1003 Max Sum Time Limit: 2000/1000 MS (Java/Others) ...
- FFMpeg笔记(五) 录制小视频时几个问题解决
1. YUV数据在使用avfilter scale时在特定的分辨率下UV分量不对 由于是小视频,那么分辨率不需要太高,但是有的视频源是1080p,甚至有的是4K的,所以对视频源进行scale非常有必要 ...
- Javascript中的继承与Prototype
之前学习js仅仅是把w3school上的基本语法看了一次而已,再后来细看书的时候,书中会出现很多很多没有听过的语法,其中一个就是js的继承以及总能看到的prototype.我主要在看的两本js书是&l ...
- [图解tensorflow源码] Graph 图构建 (Graph Constructor)
- python3爬虫-使用requests爬取起点小说
import requests from lxml import etree from urllib import parse import os, time def get_page_html(ur ...
- 【11.18总结】从SAML出发在重定向中发现的XSS漏洞
Write-up地址:How I Discovered XSS that Affects around 20 Uber Subdomains 作者:fady mohammed osman 总算回家了, ...
- SAP库龄表
&---------------------------------------------------------------------* *& Report ZFIR005 *& ...
- SSM-CRUD入门项目——环境搭建
一.项目概述 项目功能点: 1.分页 2.数据校验: jQuery前端校验+JSR303后端校验 3.ajax 4.RESTful风格的URI 技术点: 1.基础框架——SSM 2.数据库——MySQ ...