Android JVM TI机制详解(内含福利彩蛋)
孙鹏飞
该思维导图由 AI 生成,仅供参考
你好,我是孙鹏飞。
JVM TI 机制究竟是什么?它为什么如此的强大?怎么样将它应用到我们的工作中?今天我们一起来解开它神秘的面纱。
JVM TI 介绍
JVM TI 全名是Java Virtual Machine Tool Interface,是开发虚拟机监控工具使用的编程接口,它可以监控 JVM 内部事件的执行,也可以控制 JVM 的某些行为,可以实现调试、监控、线程分析、覆盖率分析工具等。
JVM TI 属于Java Platform Debugger Architecture中的一员,在 Debugger Architecture 上 JVM TI 可以算作一个 back-end,通过 JDWP 和 front-end JDI 去做交互。需要注意的是,Android 内的 JDWP 并不是基于 JVM TI 开发的。
从 Java SE 5 开始,Java 平台调试体系就使用 JVM TI 替代了之前的 JVMPI 和 JVMDI。如果你对这部分背景还不熟悉,强烈推荐先阅读下面这几篇文章:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了Android JVM TI机制,该机制是一种用于监控JVM内部事件执行并控制JVM行为的编程接口。文章详细介绍了JVM TI的功能,包括监控线程、类加载、异常、调试、方法执行、GC、对象事件等多个方面,并指出了其在性能监控、数据采集、行为修改等方面的应用。作者还解释了JVM TI的实现原理,以VmObjectAlloc事件为例,详细阐述了JVM TI Agent的启动和事件监听的实现过程。此外,文章提到了一些使用了JVM TI技术的工具,如Android Studio的Profilo工具和Linkedin的工具,展示了JVM TI的强大功能和实际应用。整体而言,本文通过深入浅出的方式,全面介绍了Android JVM TI机制的原理和功能,对于想要深入了解该技术的读者具有很高的参考价值。文章还指出了JVM TI的未来发展趋势,认为它将成为本地自动化测试和线上远程诊断的重要工具。文章结尾还提到了一些相关资料和福利彩蛋,鼓励读者参与学习和讨论。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Android 开发高手课》,新⼈⾸单¥59
《Android 开发高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- 功夫熊猫方法执行这段里的FileAccess 这个是不是写错了,应该是FieldAccess https://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#FieldAccess
作者回复: 这里写错了,应该是FieldAccess
2018-12-262 - 程序员小跃完了,第一次听说这个JVM TI 很认真的看了,还是有点不大明白,需要更好的消化下
作者回复: JVMTI这个机制很重要,后面Android很多工具都会使用到它
2019-03-132 - bonan今天看到Matrix 开源了,老师有计划介绍一下嘛?2018-12-258
- GEEK_jahen运行Sample还是有闪退现象2022-10-26归属地:中国香港
- 珞小飞dexmaker貌似只能生成字节码,没办法修改已有字节码?2020-06-01
- hbl刚才看到Android 8.0 以后可以使用 apply change 这个功能通过 Android Studio 3.5 能够实现代码的动态加载,并且不需要重启,稍微了解了下原理,发现正是使用 JVM TI 的方式实现的2019-08-15
- Eric 老乌龟确实不太了解这块,先Mark下,用到了来学😂2019-01-08
收起评论