
arthas
文章平均质量分 94
丁Allen
软件开发 个人网站http://dingym.cn/lasdym
展开
-
arthas命令实现原理-MBean的使用
MBean,MXBean简介MBean是一个托管的java bean对象,MBean是一个托管Java对象,类似于JavaBeans组件,遵循JMX(Java Management Extensions,即Java管理扩展)规范中规定的设计模式。MBean可以表示任何需要管理的资源。MBeans 公开了一个管理接口,该接口由以下部分组成:一组可读或可写属性,或两者兼而有之 一组可调用的操作自我描述JMX 规范中定义了五种类型的MBean,本文主要描述standard MBeans以及MXBea原创 2021-07-17 16:31:12 · 1860 阅读 · 0 评论 -
arthas启动-服务端启动流程
从前面介绍的arthas启动-agent初始化一文中我们看到了AgentBootstrap#bind函数,该函数的实现就是使用反射创建一个ArthasBootstrap对象。传入关键信息Instrumentation,以及启动参数。 我们就关注下ArthasBootstrap的实现。启动参数中有http-port和telnet-port参数,我们基本可以猜到arthas启动过程中会根据启动参数启动一个http server和telnet server,通过客户端与arthas启动的服务端之间进行交互。在目原创 2021-07-03 17:50:45 · 2021 阅读 · 1 评论 -
arthas启动-attach深入理解
arthas启动-attach深入理解上篇文章我们描述了arthas attach的流程,最后遗留了三个问题,attach过程中获取VirtualMachineDescriptor,VirtualMachine,以及loadAgent过程中两个JVM进程之间如何进行交互的。我们就依次对这三个问题展开进行描述,最后在给出一下上篇文章中描述的两种情况的原因三个问题详解VirtualMachine.list的实现java层面我们可以进行debug, 跟踪下来我们会发现,获取VirtualMachi原创 2021-06-09 20:17:34 · 2674 阅读 · 0 评论 -
arthas启动-attach流程
arthas启动-attach流程上一篇文档写到arthas启动的两种方式, 无论通过执行java -jar arthas-boot.jar 或者执行./as.sh 最终的效果都是会执行java -jar arthas-core.jar的逻辑, 本文我们着重看看启动arthas-core的逻辑实现。 本文的理解需要对java agent技术有一定的了解,有需要的请自行google查询一下。大家应该都知道,启动java -jar xx.jar 不指定mainclass的时候取的是jar包中的META-原创 2021-05-31 20:59:41 · 1679 阅读 · 0 评论 -
arthas 启动流程
我一直坚信着一个概念,对于我们使用的,感兴趣的方向,技术,一定要尽可能做到知其然,知其所以然。这样我们才能把一个工具用好,用得对。而且在工具出现问题时也不会手足无措,本文就针对arthas启动做一个简单的介绍。以及一些常见的问题说明。启动流程启动方式通过执行java命令启动通过执行命令,java命令,如下:java -jar arthas-boot.jar执行java -jar的命令,自然时arthas-boot.jar的manifest文件中包含Main-Class的配置, 我们原创 2021-05-15 18:46:01 · 7081 阅读 · 0 评论