jcmd,大约JDK 11

NicolasFränkel最近在博客文章“ 行业工具OpenJDK 11 ”中发布了与OpenJDK 11一起提供的命令行工具的调查。 在那篇文章中,他简要总结了工具jps (一个JVM进程状态工具 ), jinfo (一个JVM配置详细信息 ), jmap ( 堆上的类/对象 ), jstack ( 线程分析 )和图形工具JConsole ( 监视Java应用程序 )。 。

所有这些工具都很方便Java开发人员了解如何根据需要进行应用,Fränkel的帖子为这些工具的新手提供了很好的介绍性概述。 近年来,正如我在“ jcmd:一个 ” 一文中所讨论的,我已经转向使用单个jcmd工具代替大多数其他命令行工具(尽管它并不能以任何方式代替图形工具JConsole)。 JDK命令行工具可以全部统治 。”

关于与jcmd 相关的/ r / java subreddit线程 ,与各个工具进行了简短的讨论。 我可以看到两种方法的优点(使用jcmd或使用多个单独的工具)。 我对比了我对它们相对优势和劣势的看法。

jcmd与其余
jcmd 其他工具
单一互动工具 具有不同名称和选项的不同工具
由于具有交互性,因此运行功能需要更多的击键/命令 对于熟悉命令和选项的人员以及给定的JVM进程支持使用正在使用的命令/选项的情况,所需的击键次数更少
jcmd <pid> help提供了该JVM进程支持的特定功能以进行jcmd分析 针对JVM进程运行单个工具的结果是检测该工具对该进程的支持(或缺乏)的主要方法
仅支持某些个别工具的最常用功能子集 每个工具的性质决定了支持功能的标准
更新,在线资源更少 较旧,具有更多在线资源
不视为“实验性” 几个单独的工具( jpsjinfojmapjstack等)被标记为“实验性”,并且可能会更改/删除(“ 工具参考”指出“ 实验工具不受支持,应在理解的情况下使用。它们可能不会在将来的JDK版本中可用。其中一些工具当前在Windows平台上不可用。”)
可以通过DiagnosticCommandMBean以 编程方式使用提供的重要jcmd详细信息 个别工具很少有直接对应的编程访问权限

是使用jcmd还是使用单独的工具之一,很大程度上取决于个人的喜好和偏好。 那些已经使用过现有单个工具的人可能会喜欢那些工具中的更直接的方法,而那些不熟悉单个工具的人可能会喜欢jcmd提供的交互功能来确定哪些工具和选项可用。 我当然更喜欢非实验性工具,而不是“实验性”工具,但是对于许多版本的JDK,这些工具中的许多都被标记为“实验性”,并且仍然存在。

前面提到的博客文章“ jcmd:一个全部统治他们的JDK命令行工具 ”描述了如何使用jcmd的交互功能来标识其支持各种JVM进程的功能。 在该帖子的末尾有一张表格,将jcmd选项“映射”到一些相应的单个工具的命令和选项。 为了方便起见,我在这里复制。

功能性 jcmd 类似工具
列出Java进程 jcmd jps -lm
堆转储 jcmd <pid> GC.heap_dump jmap -dump <pid>
堆使用直方图 jcmd <pid> GC.class_histogram jmap -histo <pid>
线程转储 jcmd <pid> Thread.print jstack <pid>
列出系统属性 jcmd <pid> VM.system_properties jinfo -sysprops <pid>
列出VM标志 jcmd <pid> VM.flags jinfo -flags <pid>

jcmd工具继续得到增强。 JDK 9通过JEP 228 (“添加更多诊断命令”)对jcmd进行了一些增强。 在JDK 11中,对显示类加载器层次结构的支持已添加到jcmd 。 这是对类加载器层次结构的支持的简单屏幕快照。

大约JDK 11

正如Fränkel在其文章中所总结的那样: “ JDK提供了许多现成的工具来帮助开发人员”,并且“它们在开发人员的日常工作中是一笔巨大的财富。” 无论选择使用单个JDK提供的工具还是选择使用jcmd这种观点都适用。

翻译自: https://www.javacodegeeks.com/2019/02/jcmd-circa-jdk-11.html

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

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

相关文章

android 保存文件_Android 数据库操作框架LitePal使用介绍(一)

在Android开发中&#xff0c;前端开发很多情况数据都是从服务器端获取的&#xff0c;使用本地数据库的情况可能不会太常见。有一些需要本地保存的配置数据&#xff0c;也是使用Hawk框架等本地缓存框架进行保存。但是对于如果是一些需要本地保存的&#xff0c;又是大量的数据时&…

PDH光端机常见故障问题解决方法

在数字通信传输系统中&#xff0c;有两种数字光端机系列&#xff0c;一种叫“准同步数字系列光端机”&#xff08;PlesiochronousDigitalHierarchy&#xff09;&#xff0c;简称PDH光端机&#xff1b;另一种叫“同步数字系列光端机”&#xff08;SynchronousDigitalHierarchy&a…

安防监控专用工业交换机与普通交换机的区别

工业交换机即工业以太网交换机&#xff0c;它作用是放到路由器后端&#xff0c;来扩展路由器接口&#xff0c;以解决接口不够用的问题。以太网在设计时&#xff0c;由于其采用载波侦听多路复用冲突检测(CSMA/CD机制)&#xff0c;在复杂的工业环境中应用&#xff0c;其可靠性大大…

电话光端机与PCM复用设备的区别

电话光端机与PCM复用设备&#xff0c;都是使用标准PCM脉冲编码调制技术&#xff0c;具备滤波功能&#xff0c;使语音通话更清晰稳定&#xff01;设备采用专用数字复接芯片&#xff0c;它将设备中的数字逻辑功能几乎全部集成&#xff0c;从而提高了产品的性能&#xff0c;且每路…

选择安防交换机时需要避免哪些误区呢?

安防交换机是专为家庭、学校宿舍、办公室、小型监控等简易网络环境设计&#xff0c;是一种非常常用的一种交换机设备&#xff0c;那么我们在采购安防交换机的时候&#xff0c;是否有很多人都存在误区&#xff0c;造成踩雷&#xff0c;选择到劣质设备&#xff0c;可以说花不少的…

简而言之SPIFFE

我一直在研究SPIFEE&#xff08;每个人的安全生产身份框架&#xff09;[1]&#xff0c;在这里&#xff0c;我正在按照我现在的理解起草流程&#xff0c;以使任何试图理解流程的人受益。 身份注册表 – SPIRE服务器具有自己的身份注册表&#xff0c;该注册表保留两个粗粒度属性…

c++ 多个字符串排序_Python小白干货宝典:sorted()函数:列表元素排序

定义&#xff1a;sorted() 函数对所有可迭代的对象进行排序操作。内建函数 sorted 方法返回的是一个新的 list&#xff0c;而不是在原来的基础上进行的操作。语法&#xff1a;sorted 语法&#xff1a;sorted(iterable, cmpNone, keyNone, reverseFalse)返回值&#xff1a;返回重…

工业级以太网交换机的使用情况分析

工业级以太网交换机是专门为满足灵活多变的工业应用需求而设计&#xff0c;提供一种高性价比工业以太网通讯解决方案。工业以太网交换机&#xff0c;作为我们广为使用的局域网硬件设备&#xff0c;一直为大家所熟悉。它的普及程度其实是由于以太网的广泛使用&#xff0c;作为今…

工业级以太网交换机产品特征及应用案例介绍

工业以太网交换机&#xff08;简称工业交换机&#xff09;是专门为满足灵活多变的工业应用需求而提供的一种高性价比的组网设备。针对工业控制的实际需求&#xff0c;工业交换机解决了通信实时性、网络可用性能和安全性等技术问题。与普通商业交换机相比&#xff0c;工业交换机…

mysql 热块_MySQL分布式集群之MyCAT(三)rule的分析【转】

首先写在最前面&#xff0c;MyCAT1.4的alpha版本已经发布了&#xff0c;这里面修复了不少的bug&#xff0c;也完善了一细节&#xff0c;之前两篇博客已经做了一些修改---------------------------------------------------------------------------------这才是本体~----------…

工业交换机的四种安装方式图解

工业交换机的作用可以说是非常强大的&#xff0c;其应用十分广泛&#xff0c;在电力、轨道交通、市政、煤矿安全、工厂自动化、水处理系统、城市安防等都有它的身影&#xff0c;为现代生活智能化的发展提供了非常大的助力。但是由于使用环境的原因&#xff0c;在安装工业交换机…

rpm mysql 更改目录_rpm形式安装的MySQL服务 并 修改数据文件目录( red hat)_mysql...

rpm方式安装的mysql服务 并 修改数据文件目录( red hat)卸载mysql1、查找以前是否装有mysql命令&#xff1a;rpm -qa|grep -i mysql可以看到mysql的两个包&#xff1a;mysql-*..*.RHEL**mysqlclient*.RHEL**2、删除mysql删除命令&#xff1a;rpm -e --nodeps 包名( rpm -ev mys…

python参数化建模 书_Python 中如何实现参数化测试?

之前&#xff0c;我曾转过一个单元测试框架系列的文章&#xff0c;里面介绍了 unittest、nose/nose2 与 pytest 这三个最受人欢迎的 Python 测试框架。本文想针对测试中一种很常见的测试场景&#xff0c;即参数化测试&#xff0c;继续聊聊关于测试的话题&#xff0c;并尝试将这…

反模式设计_设计模式:模式或反模式,这就是问题

反模式设计我最近遇到了Wiki页面“ Anti-pattern” &#xff0c;其中包含详尽的反模式列表。 其中一些对我来说很明显。 他们中的一些让我想了一下&#xff0c;其他的让我想了更多。 然后&#xff0c;我开始在页面上查找反模式“ singleton”&#xff0c;但找不到。 &#xff0…

js中的数据类型分为两大类分别是什么_数据类型有这么重要吗?

一个没有得到重视的知识点, 数据类型 每种语言都有自己的数据类型,下面以javascript为例 类型的分类 js的数据类型可以分为 两大类: 1,值类型 (String,Number,undefined,Boolean,null) 2,引入类型(Object,Function,Array) 个人理解也可以把值类型和引入类型分为简单类型和复杂类…

监控系统几种常见的光端机传输方案拓扑图

近几年随着模拟摄像机被网络摄像机以及高清同轴摄像机取代&#xff0c;在光纤传输层&#xff0c;之前使用量比较大的视频光端机也逐渐被光纤收发器、POE交换机、网络交换机等网络光通信设备取代掉。目前市场上音频、数据、开关量、电话、对讲等信号依然可以通过光端机来进行传输…

在等待Jakarta EE时

自甲骨文在JavaOne 2017宣布将Java™EE转移到Eclipse Foundation以来已有一年多了。此后发生了很多事情&#xff1a; Java™EE 8 API和实现项目已在EE4J下建立 。 Eclipse GlassFish 5.1 版本即将发布 。 全新的Jakarta EE规范流程指日可待。 社区显示出有关Jakarta EE技术…

工业交换机外壳选用时有什么要求?

我们一般在选择工业交换机时&#xff0c;更多的是关注工业交换机的温度范围、EMC电磁兼容性、安装方式和电源等&#xff0c;而对于工业交换机的外壳关注比较少&#xff0c;除了一些客户需要防水要求的。接下来就由飞畅科技的小编来为大家介绍一下工业交换机外壳选用有什么要求?…

工业交换机与光纤收发器的区别

工业交换机与光纤收发器效果有什么差异工业交换机与光纤收发器不同的是&#xff0c;光纤收发器其实是点对点的工业工业交换机&#xff0c;光纤收发器只是一种光电转化设备&#xff0c;仅仅只是用于因传输间隔过远而采取的一种延长传输间隔的一种手法&#xff1b;而工业交换机是…

使用React Native和Spring Boot构建一个移动应用

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 React Native是使用React构建移动应用程序的框架。 React允许您使用声明式编程风格来…