1.概述

转载:Arthas 查看 Mbean 的信息

2.开篇

arthas提供Mbean命令查看或监控 Mbean 的属性信息。

3.原理介绍

MBeanServer是一个包含所有注册MBean的仓库.它是JMX代理层的核心.JMX1.0规范提供一个接口叫 javax.management.MBeanServer. 所有管理的在MBean操作通过MBeanServer执行.使用MBeanServer实例,你能够管理所有MBean.每一个MBean具有一个唯一标志,叫ObjectName.

3.源码分析

    private Set<ObjectName> queryObjectNames() {MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer();Set<ObjectName> objectNames = new HashSet<ObjectName>();try {if (StringUtils.isEmpty(name)) {name = "*:*";}objectNames = platformMBeanServer.queryNames(new ObjectName(name), null);} catch (MalformedObjectNameException e) {logger.warn("queryObjectNames error", e);}return objectNames;}private void listMetaData(CommandProcess process) {Set<ObjectName> objectNames = queryObjectNames();MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();try {MBeanModel mbeanModel = new MBeanModel();Map<String, MBeanInfo> mbeanMetaData = new LinkedHashMap<String, MBeanInfo>();mbeanModel.setMbeanMetadata(mbeanMetaData);for (ObjectName objectName : objectNames) {MBeanInfo mBeanInfo = mBeanServer.getMBeanInfo(objectName);mbeanMetaData.put(objectName.toString(), mBeanInfo);}process.appendResult(mbeanModel);process.end();} catch (Throwable e) {logger.warn("listMetaData error", e);process.end(1, "list mbean metadata error");}}

通过 ManagementFactory.getPlatformMBeanServer()获取MBeanServer。

通过MBeanServer的queryNames获取ObjectName对象。

通过MBeanInfo mBeanInfo = mBeanServer.getMBeanInfo(objectName)获取MBeanInfo

【arthas】Arthas 查看 Mbean 的信息相关推荐

  1. 【Arthas】Arthas thread查看线程信息

    1.概述 转载:Arthas thread查看线程信息 2.开篇 Arthas提供thread命令获取当前thread的信息,包括查询指定最忙的前N个线程并打印堆栈,找出当前阻塞其他线程的线程,显示所 ...

  2. linux查看系统版本信息命令

    几种查看Linux版本信息的方法: 1. uname -a 2. cat /proc/version 3. cat /etc/issue 4. lsb_release -a 详解 lsb_releas ...

  3. oracle 查看统计情报,Oracle 查看收集统计信息

    -- Start 统计信息相当于情报,对 Oracle 至关重要,如果统计信息不准确,Oracle 就会做出错误的判断.那如何查看统计信息呢?试一试下面的 SQL 吧. -- 查看表统计信息 sele ...

  4. R语言使用fs包的file_info函数查看文件元信息(属性信息)、使用file_chmod函数修改文件的权限、使用file_chown函数修改文件的所有者

    R语言使用fs包的file_info函数查看文件元信息(属性信息).使用file_chmod函数修改文件的权限.使用file_chown函数修改文件的所有者 目录

  5. linux常用查看硬件设备信息命令

    转载:http://blog.chinaunix.net/uid-26782198-id-3242120.html # uname -a               # 查看内核/操作系统/CPU信息 ...

  6. DBA工具——DMV——通过sys.dm_exec_procedure_stats查看存储过程执行信息

    原文:DBA工具--DMV--通过sys.dm_exec_procedure_stats查看存储过程执行信息 对于DBA来说,经常要手机存储过程的某些信息: 执行了多少次 执行的执行计划如何 执行的平 ...

  7. Linux 系统查看硬件配置信息

    Windows下面查看硬件配置信息,通常我们会去下载相关软件,软件会给我们提供非常直观的方式.虽然在Linux下面也有这类的软件,但大家通常不这么做,习惯于使用内置的命令查看.原因大家都知道,因为作为 ...

  8. 查看Linux硬件信息命令的使用

    为什么80%的码农都做不了架构师?>>>    查看Linux硬件信息命令的使用 http://www.xxlinux.com/newxxlinux/syste ... 5/315. ...

  9. 【Android 逆向】Android 系统文件分析 ( Android 系统 root 环境准备 | 查看 Android 根目录信息 )

    文章目录 一.Android 系统 root 环境准备 二.查看 Android 根目录信息 一.Android 系统 root 环境准备 需要一部 root 过的手机 , 或者直接使用带有 root ...

最新文章

  1. php遍历数组哪个效率高,PHP遍历数组的三种方法及效率对比分析
  2. 如果MySQL磁盘满了,会发生什么?
  3. 把libreoffice集成到网页中_Python3.7.3安装教程并集成Sublime Text3
  4. 双击.exe文件出现Debug Error: abort() has been called解决办法(之一)
  5. 【Python】4500字、10个案例分享几个Python可视化小技巧,助你绘制高质量图表
  6. SAP CRM Survey调查问卷的模型设计原理解析
  7. 深度学习之生成对抗网络(7)WGAN原理
  8. 无法执行二进制文件: 可执行文件格式错误_VB中.frm .frx .vbp .vbw .scc文件都有什么作用,你知道么?...
  9. 跟我读论文丨ACL2021 NER BERT化隐马尔可夫模型用于多源弱监督命名实体识别
  10. 最简单快捷搭建私链步骤笔记
  11. C++继承:公有,私有,保护
  12. 垃圾收集与对象生命拯救(读书笔记)
  13. 解决(Missing artifact com.oracle:ojdbc14:jar:11.2.0.4.0)
  14. 关于使用OpenXml向Excel插入数据的一点总结
  15. Json对象和Json字符串的区别
  16. vbb bbcode
  17. zemax---窗口整体布局篇
  18. ideal上初写mapreduce程序出现的报错信息解决
  19. java计算机毕业设计自修室座位预约系统源码+数据库+系统+lw文档+mybatis+运行部署
  20. 为什么你挖不到漏洞,阿里P8架构师亲授秘籍(五千字详解)

热门文章

  1. 被曝大裁员,涉及30%员工!公司内斗、高管之间拉帮结派 喜茶回应了...
  2. 雷军:智能制造将进一步带动中国企业在全球市场的全面崛起
  3. 特斯拉:CEO马斯克2020年总薪酬为零,2019年只有2万多美元
  4. 谁给小鹏P5的勇气?
  5. 泡泡玛特就“女性面试需填生育计划”一事致歉 称将积极改进
  6. 卢伟冰疑似用上Redmi K30S:今年最后一款骁龙865旗舰
  7. 2019快手内容报告重磅发布:日活突破3亿 点赞量超3500亿
  8. 马斯克:我上大学时就想创立电动汽车公司
  9. 小米全新5G旗舰手机即将登场 售价必将再创新高
  10. 华为Mate X折叠屏手机即将上市:支持5G 升级后置四摄