确定活动的热点垃圾收集器

StackOverflow问题查找正在运行哪种类型的垃圾收集 器,jvm的默认垃圾收集器 , 如何通过查看gc日志来查看正在运行的垃圾收集器? ,以及如何知道HotSpot jvm的当前GC策略? 和博客文章如何以编程方式获取GC信息表明了人们有时希望知道Java应用程序使用了哪个Java垃圾收集器。 在本文中,我将介绍确定与Oracle HotSpot VM中运行的Java应用程序关联的垃圾收集器的一些最简单,最常见的方法。

出于演示目的,我将运行一个简单的Java应用程序。 该应用程序的代码对于演示如何确定适用的垃圾收集器并不重要。 可以使用命令java -cp stringInstantiationsDemo.jar dustin.examples.demo.IndefiniteRun运行简单的Java应用程序。 请注意,对于要使用的垃圾收集器,没有JVM标志的规范。 这意味着JVM将使用根据人体工程学选择的垃圾收集器。

确定所选垃圾收集器的一种简单方法是使用-XX:+ PrintCommandLineFlags标志 (我在博客文章JavaOne 2011:HotSpot Performance命令行选项的权威集 )中对此进行了描述。 该标志可以在命令java -XX:+PrintCommandLineFlags -cp stringInstantiationsDemo.jar dustin.examples.demo.IndefiniteRun如以下屏幕快照所示:

20160411-printCommandLineFlags-showsCollector

如最后一个屏幕快照所示,使用-XX:+PrintCommandLineFlags演示了-XX:+UseParallelGC标志的存在,该标志指示在这种情况下自动使用的收集器是并行收集器 (也称为吞吐量收集器)。

使用-XX:+PrintCommandLineFlags可以使我们看到在启动新的Java应用程序时按人体工程学选择的垃圾收集器工作正常。 当我们想看到已经在运行的Java进程使用的垃圾收集器时, jcmd派上了用场(我在jcmd文章中写道了这个有用的工具:一个JDK命令行工具来统治他们 )。 在下一个屏幕快照中jcmd进行了说明,该屏幕快照演示了如何使用jcmd查看已经运行的Java应用程序的JVM命令行标志。

20160411-printCommandLineFlags-showsCollector

从上一张图像中,我们看到可以使用jcmd <pid> VM.flags标识将指示正在使用的垃圾收集器的虚拟机标志。 在这种情况下,我们再次看到-XX:+UseParallelGC的存在,指示并行/吞吐量垃圾收集器的使用。

我刚刚演示了如何使用jcmd查看隐式JVM参数,该参数告诉我们在未明确指定垃圾收集器时为特定应用程序的VM自动选择了哪个垃圾收集器。 下两个图像显示JConsole和VisualVM不显示隐式JVM参数,因此不显示未指定时自动使用的垃圾收集器。

20160412-jconsoleOnlyShowsExplicitVMArgs

20160412-jvisualvmOnlyShowsExplicitVMArgs

尽管JConsole和VisualVM均未显示隐式Java虚拟机参数(例如隐式选择的垃圾收集器),但仍可以使用两种工具通过对象类型为java.lang:type=GarbageCollector JMX和GarbageCollectorMXBean来确定使用中的垃圾收集器。 对于本文到目前为止使用的简单应用程序,它将是java.lang:type=GarbageCollector,name=PS MarkSweep因为这是并行或吞吐量收集器。 接下来的两个屏幕快照中的JConsole和VisualVM (通过MBeans插件 )对此进行了演示。

20160412-jconsoleMBeansPSMarkSweep

20160412-jvisualvmMBeansPSMarkSweep

上面的示例演示了确定哪种垃圾收集器适用的三种基本方法。 下表针对先前演示的并行/吞吐量收集器以及其他两个主要的Oracle HotSpot JVM收集器( CMS和G1 )总结了这些内容。 下表显示了确定上述一种方法(在命令行, jcmd或JMX MXBean上明确指定)使用哪个收集器(并行,CMS或G1)时要查找的内容。

垃圾收集器 明确的命令行 jcmd VM.flags java.lang:type = GarbageCollector,name =
并行 / 吞吐量 -XX:+UseParallelOldGC
-XX:+UseParallelGC
PS MarkSweep
PS清道夫
并发标记扫描(CMS) -XX:+UseConcMarkSweepGC 并发标记扫描
垃圾优先(G1) -XX:+ UseG1GC G1老一代
G1青年一代

尽管未在此处显示,但从VisualVM或JConsole确定正在使用哪个收集器的另一种方法是使用 DiagnosticCommandMBean 来查找 VM.flagsjcmd 提供VM标志一样,如上所述。 在《 在JConsole和VisualVM中查看DiagnosticCommandMBean》 一文中,我已经写了使用 DiagnosticCommandMBean 完成 jcmd 行为的 博客 。

JVM通常会阻止提供两个不同的垃圾收集器标志。 当两次尝试启动Java应用程序同时存在时,将显示诸如“选项列表中的收集器组合冲突”的消息,并且Java进程将不会启动。 因此,只需要为与正在运行的Java应用程序关联的特定收集器标识一个标志,即可知道正在使用哪个收集器。 这篇文章演示了多种简单的方法,可用于确定在给定应用程序的JVM中应用了哪个HotSpot垃圾收集器。

翻译自: https://www.javacodegeeks.com/2016/04/determining-active-hotspot-garbage-collector.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353980.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

app store 关键词

如何选取关键字&#xff0c;让你的应用关键词越来越多&#xff1f; 很多朋友在做应用商店优化的时候&#xff0c;都会遇到一个让人很头疼的问题&#xff1a;如何选取关键词&#xff1f;关键词的质量直接关系到App的自然下载量&#xff0c;所以&#xff0c;我们应该用科学的办法…

android 调用微信语音识别,Android 仿微信语音识别

参考于&#xff1a;Android模仿微信语音聊天功能&#xff0c;这代码跑起来有问题&#xff0c;自己改动了一下&#xff0c;基本上没什么大问题先贴下效果图1、三个布局文件activity_main.xmldialog_manger.xmlitem_layout2.自定义的类(1)DialogMangerpackage com.nickming.view;…

老罗android oat,入门ART虚拟机(5)——OAT文件

Android安全交流群&#xff1a;478084054先贴老罗的一张图&#xff1a;再摘一段老罗的描述&#xff1a;“作为Android私有的一种ELF文件&#xff0c;OAT文件包含有两个特殊的段oatdata和oatexec&#xff0c;前者包含有用来生成本地机器指令的dex文件内容&#xff0c;后者包含生…

Dajngo-Xadmin 修改菜单摆放排序

问题: Xadmin 默认是读取了所有被注册到 xadmin 的模型生成对应的菜单!这个是没问题的 ,但是xadmin又对菜单做了 "通过菜单名称" 排序.英文状态下我们的排列至少是 a-z排列的,但是一到中文就乱了,完全不符合我们的要求. 解决办法: 要到达按照我们 在 django 的 setti…

华为鸿蒙2.0什么核心,鸿蒙系统2.0:安卓最核心部分基本已去除,将带来全新的体验...

早些时候&#xff0c;华为在东莞举办的华为2020华为开发者大会如期召开&#xff0c;在大会上华为正式发布了鸿蒙系统2.0&#xff0c;并称将于明年应用到智能手机上&#xff0c;其中升级了EMUI 11的用户可以优先获得体验鸿蒙系统2.0的资格&#xff0c;瞬间将会议推向高潮。值得一…

Java 8:在2分钟内将智能流与数据库一起使用

快速流媒体 当Java 8最终问世时&#xff0c;我和一些大学开始了一个开源项目&#xff0c;以利用Java 8的流库使整个Java / DB问题进一步向前发展&#xff0c;以便将数据库表视为纯Java 8流。 速度诞生了&#xff01; 哇&#xff0c;现在我们可以做类型安全的数据库应用程序了&a…

MapReduce 详解

MapReduce的整个运行分为两个阶段&#xff1a; Map和Reduce Map阶段由一定数量的Map Task组成 输入格式的数据格式化&#xff1a;InputFormat 数日数据的处理:Mapper 数据分组&#xff1a;Partitioner 下面流程图&#xff1a; 1. Map task 首先从HDFS上Read文件&#xff0c;通过…

早期访问中具有NetBeans的Oracle公共云Java服务

谁期望发生这种情况&#xff1a;Oracle正在开发公共云产品&#xff0c;并且即将开始正式启动的迹象已经出现。 在正式宣布之后将近一年&#xff0c;我被邀请加入所谓的“抢先体验”计划&#xff0c;以试驾新服务并提供反馈。 多亏负责产品的经理Reza Shafii &#xff0c;我才可…

HTML5调整图像垂直边距,77.通过vspace和hspace属性可以分别调整图像的垂直边距和水平边距。()()...

具有东方建筑特色、&#xff0e;通图像规模宏大、气势雄伟的古代建筑群是( )属性水平完成规定的大作业分别Which of the following parks are the urban parks of New York?调整的垂Which of the following countries have once occupied New York city in the 17th century?…

Javac可以编译,Java显示找不到或无法加载主类

运行时候加入完整包名。转载于:https://www.cnblogs.com/theWinter/p/8594354.html

台式计算机欢迎界面下不去,Win7系统开机不显示欢迎界面的方法

现在办公人员做事情都讲究效率&#xff0c;甚至连电脑开机都不放过&#xff0c;win7系统加快开机速度的方法有很多种&#xff0c;开机不显示欢迎界面便是其中之一。有些用户觉得开机显示欢迎界面是非常浪费时间的一件事&#xff0c;想要删除电脑中的欢迎界面。但是很多电脑白不…

CompressedOops:Java压缩参考简介

在本文中&#xff0c;我们将向您介绍一种称为Compressed oops的JVM优化。 压缩oop的概念是由32位和64位体系结构之间的差异引起的。 因此&#xff0c;我们将对64位体系结构进行简短的回顾&#xff0c;然后再深入探讨压缩oop的主题。 最后&#xff0c;我们将通过一个简单的示例看…

NYOJ90 整数划分(经典递归和dp)

整数划分 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;3描述将正整数n表示成一系列正整数之和&#xff1a;nn1n2…nk&#xff0c; 其中n1≥n2≥…≥nk≥1&#xff0c;k≥1。 正整数n的这种表示称为正整数n的划分。求正整数n的不 同划分个数。…

昆士兰科技大学计算机专业,昆士兰科技大学QUT计算机科学Computer Science专业排名第101-125位(2021年THE世界大学商科排名)...

2021年THE泰晤士高等教育计算机科学Computer Science专业世界大学排名公布&#xff0c;昆士兰科技大学QUT计算机科学世界排名第101-125位&#xff0c;昆士兰科技大学QUT计算机科学专业实力怎么样呢&#xff1f;下面美英港新留学介绍昆士兰科技大学QUT计算机科学专业培养计划&am…

计算机休眠下睡眠的不同点是什么,电脑的关机选项里,休眠和睡眠有什么具体的区别呢?...

电脑的关机选项里&#xff0c;休眠和睡眠有什么具体的区别呢&#xff1f;以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;电脑的关机选项里&#xff0c;休眠和睡眠有什么具体的区别呢&#x…

开发一个智能问答机器人(优化篇)

上一篇介绍了整个问答机器人的技术架构和特定&#xff0c;本篇着重说下 如何让机器人&#xff08;看起来&#xff09;更智能 输入联想 使用jquery.autosuggest.js实现的输入联想&#xff0c;在输入2个字后&#xff0c;在5000个问答中基于全文检索&#xff0c;检索10条记录&…

java中的单例模型

参考网址:http://www.runoob.com/design-pattern/singleton-pattern.html 1.目的:保证一个类仅有一个实例&#xff0c;并提供一个访问它的全局访问点。(比如世界只有一个月亮,党只有一个主席) 2. 优点&#xff1a; 1、在内存里只有一个实例&#xff0c;减少了内存的开销&#x…

跨站点脚本(xss)_跨站点脚本(XSS)和预防

跨站点脚本(xss)如OWASP网站&#xff08;https://www.owasp.org/index.php/Cross-site_Scripting_(XSS&#xff09;&#xff09;所述&#xff0c;跨站点脚本&#xff08;XSS&#xff09;攻击的变种几乎是无限的。 在这里&#xff0c;我建议使用基于Servlet筛选器的解决方案来清…

countdown软件测试死亡时间真假,countdown

countdown死亡倒计时真的假的?countdown这款软件是一款有电影衍生出来的产品&#xff0c;很多朋友都很好奇这个countdownapp测试死亡时间准不准&#xff0c;那么今天小编就为大家带来详细的介绍&#xff0c;感兴趣的朋友们一起来看看吧!这是一款在电影倒忌时中出现的时钟软件&…

在计算机中描述景物结构形状与外貌,在计算机中通过描述景物的结构、形状与外貌,然后将它绘制成图在屏幕上显示出来,此类图像称为_____。...

并实打印现共享文件和机等共享功能&#xff0c;计中通屏完全地相信平等互通&#xff0c;网工需的则所作模局域式是&#xff0c;网络的各没有台计一个内部主次之分若要算机。算机述景包括条件主要区域规划发展。过描的咨项目询包括(准备建设阶段。结构包括咨询主要工程任务师的。…